Bug 30924: Add missing branchtransfers.reason value for recall cancellation
authorTomas Cohen Arazi <tomascohen@theke.io>
Thu, 9 Jun 2022 14:58:44 +0000 (11:58 -0300)
committerTomas Cohen Arazi <tomascohen@theke.io>
Mon, 13 Jun 2022 13:30:51 +0000 (10:30 -0300)
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
installer/data/mysql/atomicupdate/bug_30924.pl [new file with mode: 0755]
installer/data/mysql/kohastructure.sql
recalls/recalls_to_pull.pl
svc/recall

diff --git a/installer/data/mysql/atomicupdate/bug_30924.pl b/installer/data/mysql/atomicupdate/bug_30924.pl
new file mode 100755 (executable)
index 0000000..69578fe
--- /dev/null
@@ -0,0 +1,16 @@
+use Modern::Perl;
+
+return {
+    bug_number  => 30924,
+    description => "Add missing RecallCancellation option to branchtransfers.reason ENUM",
+    up => sub {
+        my ($args) = @_;
+        my ($dbh) = @$args{qw(dbh)};
+
+        # Add RecallCancellation ENUM option to branchtransfers.reason
+        $dbh->do(q{
+            ALTER TABLE branchtransfers MODIFY COLUMN reason
+            ENUM('Manual','StockrotationAdvance','StockrotationRepatriation','ReturnToHome','ReturnToHolding','RotatingCollection','Reserve','LostReserve','CancelReserve','TransferCancellation','Recall','RecallCancellation') COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'what triggered the transfer'
+        });
+    },
+};
index 51b6241..9d2e286 100644 (file)
@@ -1566,7 +1566,7 @@ CREATE TABLE `branchtransfers` (
   `datecancelled` datetime DEFAULT NULL COMMENT 'the date the transfer was cancelled',
   `tobranch` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'the branch the transfer was going to',
   `comments` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'any comments related to the transfer',
-  `reason` enum('Manual','StockrotationAdvance','StockrotationRepatriation','ReturnToHome','ReturnToHolding','RotatingCollection','Reserve','LostReserve','CancelReserve','TransferCancellation','Recall') COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'what triggered the transfer',
+  `reason` ENUM('Manual','StockrotationAdvance','StockrotationRepatriation','ReturnToHome','ReturnToHolding','RotatingCollection','Reserve','LostReserve','CancelReserve','TransferCancellation','Recall','RecallCancellation') COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'what triggered the transfer',
   `cancellation_reason` enum('Manual','StockrotationAdvance','StockrotationRepatriation','ReturnToHome','ReturnToHolding','RotatingCollection','Reserve','LostReserve','CancelReserve','ItemLost','WrongTransfer','CancelRecall') COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'what triggered the transfer cancellation',
   PRIMARY KEY (`branchtransfer_id`),
   KEY `frombranch` (`frombranch`),
index 201cab4..e34be38 100755 (executable)
@@ -40,7 +40,10 @@ my $recall_id = $query->param('recall_id');
 if ( $op eq 'cancel' ) {
     my $recall = Koha::Recalls->find( $recall_id );
     if ( $recall->in_transit ) {
-        C4::Items::ModItemTransfer( $recall->item->itemnumber, $recall->item->holdingbranch, $recall->item->homebranch, 'CancelRecall' );
+        C4::Items::ModItemTransfer(
+            $recall->item->itemnumber, $recall->item->holdingbranch,
+            $recall->item->homebranch, 'RecallCancellation'
+        );
     }
     $recall->set_cancelled;
     $op = 'list';
index 3c79700..aad5d67 100755 (executable)
@@ -78,7 +78,10 @@ if ( $op eq 'cancel' ) {
 } elsif ( $op eq 'transit' ) {
     # cancel recall and return item to home library
     if ( $recall->in_transit ) {
-        C4::Items::ModItemTransfer( $recall->item->itemnumber, $recall->item->holdingbranch, $recall->item->homebranch, 'CancelRecall' );
+        C4::Items::ModItemTransfer(
+            $recall->item->itemnumber, $recall->item->holdingbranch,
+            $recall->item->homebranch, 'RecallCancellation'
+        );
     }
     $recall->set_cancelled;
     if ( $recall->cancelled ){