Bug 6755 Follow up, fixing broken call to themelanguage
[koha_gimpoz] / C4 / Members.pm
index ce694e5..8d4a6c5 100644 (file)
@@ -2,6 +2,7 @@ package C4::Members;
 
 # Copyright 2000-2003 Katipo Communications
 # Copyright 2010 BibLibre
+# Parts Copyright 2010 Catalyst IT
 #
 # This file is part of Koha.
 #
@@ -352,11 +353,11 @@ sub GetMemberDetails {
     my $query;
     my $sth;
     if ($borrowernumber) {
-        $sth = $dbh->prepare("select borrowers.*,category_type,categories.description from borrowers left join categories on borrowers.categorycode=categories.categorycode where  borrowernumber=?");
+        $sth = $dbh->prepare("SELECT borrowers.*,category_type,categories.description,reservefee FROM borrowers LEFT JOIN categories ON borrowers.categorycode=categories.categorycode WHERE  borrowernumber=?");
         $sth->execute($borrowernumber);
     }
     elsif ($cardnumber) {
-        $sth = $dbh->prepare("select borrowers.*,category_type,categories.description from borrowers left join categories on borrowers.categorycode=categories.categorycode where cardnumber=?");
+        $sth = $dbh->prepare("SELECT borrowers.*,category_type,categories.description,reservefee FROM borrowers LEFT JOIN categories ON borrowers.categorycode=categories.categorycode WHERE cardnumber=?");
         $sth->execute($cardnumber);
     }
     else {
@@ -386,6 +387,7 @@ sub GetMemberDetails {
     $sth->execute( $borrower->{'categorycode'} );
     my $enrolment = $sth->fetchrow;
     $borrower->{'enrolmentperiod'} = $enrolment;
+    
     return ($borrower);    #, $flags, $accessflagshash);
 }
 
@@ -1032,13 +1034,19 @@ The keys include C<biblioitems> fields except marc and marcxml.
 
 #'
 sub GetPendingIssues {
-    my (@borrowernumbers) = @_;
+    my @borrowernumbers = @_;
+
+    unless (@borrowernumbers ) { # return a ref_to_array
+        return \@borrowernumbers; # to not cause surprise to caller
+    }
 
     # Borrowers part of the query
     my $bquery = '';
     for (my $i = 0; $i < @borrowernumbers; $i++) {
-        $bquery .= " borrowernumber = ?";
-        $bquery .= " OR" if ($i < (scalar(@borrowernumbers) - 1));
+        $bquery .= ' borrowernumber = ?';
+        if ($i < $#borrowernumbers ) {
+            $bquery .= ' OR';
+        }
     }
 
     # must avoid biblioitems.* to prevent large marc and marcxml fields from killing performance
@@ -1079,9 +1087,10 @@ sub GetPendingIssues {
     $sth->execute(@borrowernumbers);
     my $data = $sth->fetchall_arrayref({});
     my $today = C4::Dates->new->output('iso');
-    foreach (@$data) {
-        $_->{date_due} or next;
-        ($_->{date_due} lt $today) and $_->{overdue} = 1;
+    foreach (@{$data}) {
+        if ($_->{date_due}  and $_->{date_due} lt $today) {
+            $_->{overdue} = 1;
+        }
     }
     return $data;
 }