[Koha-patches] [PATCH] [followup](bug #3667) cleaning borrowers fix

Nahuel ANGELINETTI nahuel.angelinetti at biblibre.com
Tue Dec 29 16:07:42 CET 2009


This fix GetBorrowersWhoHaveNotBorrowedSince to select only borrowers that have no issues and have no old_issues more recent than a specified date.
---
 C4/Members.pm |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/C4/Members.pm b/C4/Members.pm
index f5a360e..43305c5 100644
--- a/C4/Members.pm
+++ b/C4/Members.pm
@@ -1756,7 +1756,7 @@ Looks up the different title . Returns array  with all borrowers title
 =cut
 
 sub GetTitles {
-    my @borrowerTitle = split /,|\|/,C4::Context->preference('BorrowersTitles');
+    my @borrowerTitle = split (/,|\|/,C4::Context->preference('BorrowersTitles'));
     unshift( @borrowerTitle, "" );
     my $count=@borrowerTitle;
     if ($count == 1){
@@ -1870,10 +1870,13 @@ sub GetBorrowersWhoHaveNotBorrowedSince {
                          : "");  
     my $dbh   = C4::Context->dbh;
     my $query = "
-        SELECT borrowers.borrowernumber,max(issues.timestamp) as latestissue
+        SELECT borrowers.borrowernumber,
+               max(old_issues.timestamp) as latestissue,
+               max(issues.timestamp) as currentissue
         FROM   borrowers
         JOIN   categories USING (categorycode)
-        LEFT JOIN issues ON borrowers.borrowernumber = issues.borrowernumber
+        LEFT JOIN old_issues USING (borrowernumber)
+        LEFT JOIN issues USING (borrowernumber) 
         WHERE  category_type <> 'S'
    ";
     my @query_params;
@@ -1886,7 +1889,8 @@ sub GetBorrowersWhoHaveNotBorrowedSince {
     }
     $query.=" GROUP BY borrowers.borrowernumber";
     if ($filterdate){ 
-        $query.=" HAVING latestissue <? OR latestissue IS NULL";
+        $query.=" HAVING (latestissue < ? OR latestissue IS NULL) 
+                  AND currentissue IS NULL";
         push @query_params,$filterdate;
     }
     warn $query if $debug;
-- 
1.6.3.3




More information about the Koha-patches mailing list