X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=C4%2FMembers.pm;h=8d4a6c57659f0306ddffd6f8c4dad74b6c8f11e7;hb=3bb33fd666d4d0eea26114b373874189edc82459;hp=ce694e590ec1d2daa89effe9713ec41a8a65be35;hpb=d8a36ca1f80460029ec5442fb1bf5de8b00a2138;p=koha_gimpoz diff --git a/C4/Members.pm b/C4/Members.pm index ce694e590e..8d4a6c5765 100644 --- a/C4/Members.pm +++ b/C4/Members.pm @@ -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 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; }