[Koha-patches] [PATCH] Bug 5632 SIP/ILS and Debarment fixes
Chris Cormack
chrisc at catalyst.net.nz
Wed Mar 30 23:41:40 CEST 2011
Squashed commit of the following:
commit 7f6ff7d28b148d4eb054f0c67427dd2bd461fdc2
Author: Henri-Damien LAURENT <henridamien.laurent at biblibre.com>
Date: Wed Jan 19 21:38:59 2011 +0100
SIP Fixing debarment management
debarred is now a date.
We have to use the calculated flag DEBARRED rather than simply looking at the debarred field
commit 773426c83b6c7cbeff12fcc096eb8fdb25322749
Author: Henri-Damien LAURENT <henridamien.laurent at biblibre.com>
Date: Wed Jan 19 21:38:58 2011 +0100
ILS/Transaction Conforming to APIs
Checkout And Renew were not really using the full correct interface of AddIssue
Renew is using AddIssue where it could/should use AddRenewal
---
C4/SIP/ILS/Patron.pm | 31 ++++++++++++++++---------------
C4/SIP/ILS/Transaction/Checkout.pm | 3 ++-
C4/SIP/ILS/Transaction/Renew.pm | 3 +++
3 files changed, 21 insertions(+), 16 deletions(-)
diff --git a/C4/SIP/ILS/Patron.pm b/C4/SIP/ILS/Patron.pm
index 3f4e136..e8f9c63 100644
--- a/C4/SIP/ILS/Patron.pm
+++ b/C4/SIP/ILS/Patron.pm
@@ -38,21 +38,22 @@ sub new {
my ($class, $patron_id) = @_;
my $type = ref($class) || $class;
my $self;
- $kp = GetMember(cardnumber=>$patron_id);
- $debug and warn "new Patron (GetMember): " . Dumper($kp);
- unless (defined $kp) {
- syslog("LOG_DEBUG", "new ILS::Patron(%s): no such patron", $patron_id);
- return undef;
- }
- $kp = GetMemberDetails(undef,$patron_id);
- $debug and warn "new Patron (GetMemberDetails): " . Dumper($kp);
- my $pw = $kp->{password}; ### FIXME - md5hash -- deal with .
- my $flags = $kp->{flags}; # or warn "Warning: No flags from patron object for '$patron_id'";
- my $debarred = $kp->{debarred}; # 1 if ($kp->{flags}->{DBARRED}->{noissues});
- $debug and warn sprintf("Debarred = %s : ", ($debarred||'undef')) . Dumper(%{$kp->{flags}});
- my ($day, $month, $year) = (localtime)[3,4,5];
- my $today = sprintf '%04d-%02d-%02d', $year+1900, $month+1, $day;
- my $expired = ($today gt $kp->{dateexpiry}) ? 1 : 0;
+ $kp = GetMember( cardnumber => $patron_id );
+ $debug and warn "new Patron (GetMember): " . Dumper($kp);
+ unless ( defined $kp ) {
+ syslog( "LOG_DEBUG", "new ILS::Patron(%s): no such patron", $patron_id );
+ return undef;
+ }
+ $kp = GetMemberDetails( undef, $patron_id );
+ $debug and warn "new Patron (GetMemberDetails): " . Dumper($kp);
+ my $pw = $kp->{password}; ### FIXME - md5hash -- deal with .
+ my $flags = $kp->{flags}; # or warn "Warning: No flags from patron object for '$patron_id'";
+ my $debarred = defined($kp->{flags}->{DEBARRED}); # 1 if ($kp->{flags}->{DBARRED}->{noissues});
+ $debug and warn sprintf( "Debarred = %s : ", ( $debarred || 'undef' ) ) . Dumper( %{ $kp->{flags} } );
+ my ( $day, $month, $year ) = (localtime)[ 3, 4, 5 ];
+ my $today = sprintf '%04d-%02d-%02d', $year + 1900, $month + 1, $day;
+ my $expired = ( $today gt $kp->{dateexpiry} ) ? 1 : 0;
+
if ($expired) {
if ($kp->{opacnote} ) {
$kp->{opacnote} .= q{ };
diff --git a/C4/SIP/ILS/Transaction/Checkout.pm b/C4/SIP/ILS/Transaction/Checkout.pm
index 8a14877..7cd4ca9 100644
--- a/C4/SIP/ILS/Transaction/Checkout.pm
+++ b/C4/SIP/ILS/Transaction/Checkout.pm
@@ -60,6 +60,7 @@ sub do_checkout {
$debug and warn "do_checkout borrower: . " . Dumper $borrower;
my ($issuingimpossible,$needsconfirmation) = CanBookBeIssued( $borrower, $barcode );
my $noerror=1;
+ $debug and warn "do_checkout IssuingImpossible: . " , Dumper($issuingimpossible),"\n",Dumper($needsconfirmation);
if (scalar keys %$issuingimpossible) {
foreach (keys %$issuingimpossible) {
# do something here so we pass these errors
@@ -116,7 +117,7 @@ sub do_checkout {
$debug and warn "do_checkout: calling AddIssue(\$borrower,$barcode, undef, 0)\n"
# . "w/ \$borrower: " . Dumper($borrower)
. "w/ C4::Context->userenv: " . Dumper(C4::Context->userenv);
- my $c4due = AddIssue($borrower, $barcode, undef, 0);
+ my $c4due = AddIssue($borrower, $barcode, undef, 0,undef,1);
my $due = $c4due->output('iso') || undef;
$debug and warn "Item due: $due";
$self->{'due'} = $due;
diff --git a/C4/SIP/ILS/Transaction/Renew.pm b/C4/SIP/ILS/Transaction/Renew.pm
index 73acaa3..57d6c9d 100644
--- a/C4/SIP/ILS/Transaction/Renew.pm
+++ b/C4/SIP/ILS/Transaction/Renew.pm
@@ -37,6 +37,9 @@ sub do_renew_for ($$) {
my $borrower = shift;
my ($renewokay,$renewerror) = CanBookBeRenewed($borrower->{borrowernumber},$self->{item}->{itemnumber});
if ($renewokay){
+ #Why not AddRenewal ????
+ #my $datedue = AddRenewal( $borrower, $self->{item}->id, undef, 0 );
+
my $datedue = AddIssue( $borrower, $self->{item}->id, undef, 0 );
$self->{due} = $datedue;
$self->renewal_ok(1);
--
1.7.1
More information about the Koha-patches
mailing list