From 9fc6ed2d1efd7902edd66c5f0f1d7d6f9809a844 Mon Sep 17 00:00:00 2001
From: Tomas Cohen Arazi <tomascohen@gmail.com>
Date: Tue, 13 Aug 2013 10:56:15 -0300
Subject: [PATCH] Bug 10606: Remove MySQLism in GetUpcomingDueIssues

To test:

[1] Arrange to have at least one loan in your test database due
    one day from now.
[2] Run misc/cronjobs/advance_notices.pl -c -n -v -m=2
    and note the number of loans reported.
[3] Apply the patch.
[4] Run misc/cronjobs/advance_notices.pl -c -n -v -m=2 again
    and verify that the number of loans reported remains the same.

Sponsored-by: Universidad Nacional de Cordoba

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
All tests and QA script pass.
Also tested with unit tests from bug 10719.
---
 C4/Circulation.pm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/C4/Circulation.pm b/C4/Circulation.pm
index 5cd8ba3..260417f 100644
--- a/C4/Circulation.pm
+++ b/C4/Circulation.pm
@@ -2604,12 +2604,13 @@ sub GetUpcomingDueIssues {
     my $dbh = C4::Context->dbh;
 
     my $statement = <<END_SQL;
-SELECT issues.*, items.itype as itemtype, items.homebranch, TO_DAYS( date_due )-TO_DAYS( NOW() ) as days_until_due, branches.branchemail
+SELECT issues.*, items.itype as itemtype, items.homebranch, DATE( date_due )-DATE( NOW() ) as days_until_due, branches.branchemail
 FROM issues 
 LEFT JOIN items USING (itemnumber)
 LEFT OUTER JOIN branches USING (branchcode)
 WHERE returndate is NULL
-HAVING days_until_due >= 0 AND days_until_due <= ?
+AND (DATE( date_due )-DATE( NOW() )) >= 0
+AND (DATE( date_due )-DATE( NOW() )) <= ?
 END_SQL
 
     my @bind_parameters = ( $params->{'days_in_advance'} );
-- 
2.1.0