use C4::Overdues;
use C4::Reserves;
-use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
+our ($VERSION,@ISA,@EXPORT,@EXPORT_OK);
$VERSION = do { my @v = '$Revision$' =~ /\d+/g; shift(@v) . "." . join( "_", map { sprintf "%03d", $_ } @v ); };
&GetBorrowersWhoHaveNotBorrowedSince
&GetBorrowersWhoHaveNeverBorrowed
&GetBorrowersWithIssuesHistoryOlderThan
- &GetMembersFromSurname
&GetExpiryDate
);
&fixEthnicity
ðnicitycategories
&fixup_cardnumber
+ &checkcardnumber
);
+
=item SearchMember
($count, $borrowers) = &SearchMember($searchstring, $type,$category_type);
}
$flags{'ODUES'} = \%flaginfo;
}
- my @itemswaiting =
- GetReservesFromBorrowernumber( $patroninformation->{'borrowernumber'},'W' );
+ my @itemswaiting = GetReservesFromBorrowernumber( $patroninformation->{'borrowernumber'},'W' );
my $nowaiting = scalar @itemswaiting;
if ( $nowaiting > 0 ) {
my %flaginfo;
sub GetPendingIssues {
my ($borrowernumber) = @_;
my $dbh = C4::Context->dbh;
+
my $sth = $dbh->prepare(
- "Select * from issues,biblio,items where borrowernumber=?
- and items.itemnumber=issues.itemnumber
- and items.biblionumber=biblio.biblionumber
- and issues.returndate is NULL order by date_due"
+ "SELECT * FROM issues
+ LEFT JOIN items ON issues.itemnumber=items.itemnumber
+ LEFT JOIN biblio ON items.biblionumber=biblio.biblionumber
+ LEFT JOIN biblioitems ON items.biblioitemnumber=biblioitems.biblioitemnumber
+ WHERE
+ borrowernumber=?
+ AND returndate IS NULL
+ ORDER BY issues.date_due"
);
$sth->execute($borrowernumber);
my $data = $sth->fetchall_arrayref({});
+ my $today = POSIX::strftime("%Y%m%d", localtime);
+ foreach( @$data ) {
+ my $datedue = $_->{'date_due'};
+ $datedue =~ s/-//g;
+ if ( $datedue < $today ) {
+ $_->{'overdue'} = 1;
+ }
+ }
+ $sth->finish;
return ( scalar(@$data), $data );
}
}
}
+sub checkcardnumber {
+ my ($cardnumber) = @_;
+ my $dbh = C4::Context->dbh;
+ my $query = "SELECT * FROM borrowers WHERE cardnumber=?";
+ my $sth = $dbh->prepare($query);
+ $sth->execute($cardnumber);
+ if (my $data= $sth->fetchrow_hashref()){
+ return 1;
+ }
+ else {
+ return 0;
+ }
+ $sth->finish();
+}
+
+
=head2 getzipnamecity (OUEST-PROVENCE)
take all info from table city for the fields city and zip
} # sub add_member_orgs
-=head2 GetMembersFromSurname
-
=head2 GetCities (OUEST-PROVENCE)
($id_cityarrayref, $city_hashref) = &GetCities();
sub DelMember {
my $dbh = C4::Context->dbh;
my $borrowernumber = shift;
+ warn "in delmember with $borrowernumber";
return unless $borrowernumber; # borrowernumber is mandatory.
my $query = qq|DELETE
FROM borrowers
WHERE borrowernumber = ?
";
- my $sth = $dbh->prepare($query);
+ $sth = $dbh->prepare($query);
+ $sth->execute($borrowernumber);
+ $sth->finish;
&logaction(C4::Context->userenv->{'number'},"MEMBERS","DELETE",$borrowernumber,"")
if C4::Context->preference("BorrowersLog");
return $sth->rows;
my $dbh = C4::Context->dbh;
unless ($date){
$date=POSIX::strftime("%Y-%m-%d",localtime(time));
- my $borrower = GetBorrower($borrowerid,'borrowernumber');
+ my $borrower = GetMember($borrowerid,'borrowernumber');
$date = GetExpiryDate( $borrower->{'categorycode'}, $date );
}
my $sth = $dbh->do(<<EOF);