use DateTime;
use DateTime::Format::DateParse;
use Koha::DateUtils;
+use Koha::Borrower::Debarments qw(IsDebarred);
use Text::Unaccent qw( unac_string );
-use C4::Auth qw(hash_password);
+use Koha::AuthUtils qw(hash_password);
our ($VERSION,@ISA,@EXPORT,@EXPORT_OK,$debug);
&IssueSlip
GetBorrowersWithEmail
+
+ HasOverdues
);
#Modify data
my $borrowernumber = shift;
my $dbh = C4::Context->dbh;
- my $blockeddate = CheckBorrowerDebarred($borrowernumber);
+ my $blockeddate = Koha::Borrower::Debarments::IsDebarred($borrowernumber);
return ( 1, $blockeddate ) if $blockeddate;
=head2 GetPatronImage
- my ($imagedata, $dberror) = GetPatronImage($cardnumber);
+ my ($imagedata, $dberror) = GetPatronImage($borrowernumber);
-Returns the mimetype and binary image data of the image for the patron with the supplied cardnumber.
+Returns the mimetype and binary image data of the image for the patron with the supplied borrowernumber.
=cut
sub GetPatronImage {
- my ($cardnumber) = @_;
- warn "Cardnumber passed to GetPatronImage is $cardnumber" if $debug;
+ my ($borrowernumber) = @_;
+ warn "Borrowernumber passed to GetPatronImage is $borrowernumber" if $debug;
my $dbh = C4::Context->dbh;
- my $query = 'SELECT mimetype, imagefile FROM patronimage WHERE cardnumber = ?';
+ my $query = 'SELECT mimetype, imagefile FROM patronimage WHERE borrowernumber = ?';
my $sth = $dbh->prepare($query);
- $sth->execute($cardnumber);
+ $sth->execute($borrowernumber);
my $imagedata = $sth->fetchrow_hashref;
warn "Database error!" if $sth->errstr;
return $imagedata, $sth->errstr;
my ($cardnumber, $mimetype, $imgfile) = @_;
warn "Parameters passed in: Cardnumber=$cardnumber, Mimetype=$mimetype, " . ($imgfile ? "Imagefile" : "No Imagefile") if $debug;
my $dbh = C4::Context->dbh;
- my $query = "INSERT INTO patronimage (cardnumber, mimetype, imagefile) VALUES (?,?,?) ON DUPLICATE KEY UPDATE imagefile = ?;";
+ my $query = "INSERT INTO patronimage (borrowernumber, mimetype, imagefile) VALUES ( ( SELECT borrowernumber from borrowers WHERE cardnumber = ? ),?,?) ON DUPLICATE KEY UPDATE imagefile = ?;";
my $sth = $dbh->prepare($query);
$sth->execute($cardnumber,$mimetype,$imgfile,$imgfile);
warn "Error returned inserting $cardnumber.$mimetype." if $sth->errstr;
=head2 RmPatronImage
- my ($dberror) = RmPatronImage($cardnumber);
+ my ($dberror) = RmPatronImage($borrowernumber);
-Removes the image for the patron with the supplied cardnumber.
+Removes the image for the patron with the supplied borrowernumber.
=cut
sub RmPatronImage {
- my ($cardnumber) = @_;
- warn "Cardnumber passed to GetPatronImage is $cardnumber" if $debug;
+ my ($borrowernumber) = @_;
+ warn "Borrowernumber passed to GetPatronImage is $borrowernumber" if $debug;
my $dbh = C4::Context->dbh;
- my $query = "DELETE FROM patronimage WHERE cardnumber = ?;";
+ my $query = "DELETE FROM patronimage WHERE borrowernumber = ?;";
my $sth = $dbh->prepare($query);
- $sth->execute($cardnumber);
+ $sth->execute($borrowernumber);
my $dberror = $sth->errstr;
warn "Database error!" if $sth->errstr;
return $dberror;
return $results;
}
-=head2 DebarMember
-
-my $success = DebarMember( $borrowernumber, $todate );
-
-marks a Member as debarred, and therefore unable to checkout any more
-items.
-
-return :
-true on success, false on failure
-
-=cut
-
-sub DebarMember {
- my $borrowernumber = shift;
- my $todate = shift;
-
- return unless defined $borrowernumber;
- return unless $borrowernumber =~ /^\d+$/;
-
- return ModMember(
- borrowernumber => $borrowernumber,
- debarred => $todate
- );
-
-}
-
=head2 ModPrivacy
=over 4
}
}
+sub HasOverdues {
+ my ( $borrowernumber ) = @_;
+
+ my $sql = "SELECT COUNT(*) FROM issues WHERE date_due < NOW() AND borrowernumber = ?";
+ my $sth = C4::Context->dbh->prepare( $sql );
+ $sth->execute( $borrowernumber );
+ my ( $count ) = $sth->fetchrow_array();
+
+ return $count;
+}
+
END { } # module clean-up code here (global destructor)
1;