Bug 21725: Use full statement in HAVING rather than constructed column
authorNick Clemens <nick@bywatersolutions.com>
Tue, 30 Oct 2018 11:59:26 +0000 (11:59 +0000)
committerNick Clemens <nick@bywatersolutions.com>
Thu, 1 Nov 2018 19:04:30 +0000 (19:04 +0000)
To test:
1 - prove -v t/db_dpendent/Acquisition/GetBasketsInfosByBookseller.t
2 - Apply patch
3 - prove -v t/db_dpendent/Acquisition/GetBasketsInfosByBookseller.t
4 - It passes
5 - Have some open/closed and some fully and not full received baskets
6 - View a vendor and confirm baskets are shwn as expected
7 - Check 'Show all baskets' shows all baskets

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Note sure this is the best thing but it fixes the issue

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

C4/Acquisition.pm

index 8039afa..0cca6fe 100644 (file)
@@ -713,7 +713,13 @@ sub GetBasketsInfosByBookseller {
 
     unless ( $allbaskets ) {
         # Don't show the basket if it's NOT CLOSED or is FULLY RECEIVED
-        $query.=" HAVING (closedate IS NULL OR (expected_items > 0))"
+        $query.=" HAVING (closedate IS NULL OR (
+          SUM(
+            IF(aqorders.datereceived IS NULL
+              AND (aqorders.datecancellationprinted IS NULL OR aqorders.datecancellationprinted='0000-00-00')
+            , aqorders.quantity
+            , 0)
+            ) > 0))"
     }
 
     my $sth = $dbh->prepare($query);