From e2ea2aaa7c76e4a0299ec1669d6446e446677715 Mon Sep 17 00:00:00 2001
From: Nick Clemens <nick@bywatersolutions.com>
Date: Tue, 30 Oct 2018 11:59:26 +0000
Subject: [PATCH] Bug 21725: Use full statement in HAVING rather than
 constructed column

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
---
 C4/Acquisition.pm | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/C4/Acquisition.pm b/C4/Acquisition.pm
index d635a49e79..02605c279d 100644
--- a/C4/Acquisition.pm
+++ b/C4/Acquisition.pm
@@ -712,7 +712,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);
-- 
2.11.0