Bug 19024 Do not unset order cancelled status on basket close
authorColin Campbell <colin.campbell@ptfs-europe.com>
Wed, 2 Aug 2017 16:12:44 +0000 (17:12 +0100)
committerKatrin Fischer <katrin.fischer.83@web.de>
Fri, 6 Oct 2017 06:08:04 +0000 (08:08 +0200)
On closing a basket, status is updated to ordered for orders not
completed. However the operation  was resetting the status for
cancelled as well as new orders.
While display is correct from the basket view (it checks the
cancellation date). The status in the acquisitions tab from the
catalogue view reverts erroneously to ordered.

This patch adds cancelled to the statuses not updated on basket
close.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 2e9165001f69312255ad1b6706f040784460d5d1)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
(cherry picked from commit 0679425b29b9bff8c16fff91b7351a2f9f89a045)
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

C4/Acquisition.pm

index 243e2d6..e9d434b 100644 (file)
@@ -236,8 +236,10 @@ sub CloseBasket {
     my $dbh        = C4::Context->dbh;
     $dbh->do('UPDATE aqbasket SET closedate=now() WHERE basketno=?', {}, $basketno );
 
-    $dbh->do( q{UPDATE aqorders SET orderstatus = 'ordered' WHERE basketno = ? AND orderstatus != 'complete'},
-        {}, $basketno);
+    $dbh->do(
+q{UPDATE aqorders SET orderstatus = 'ordered' WHERE basketno = ? AND orderstatus NOT IN ( 'complete', 'cancelled')},
+        {}, $basketno
+    );
     return;
 }