From 35a94f6423ee851668047075dbc153dc3aa13606 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Thu, 24 Apr 2014 11:23:05 -0400 Subject: [PATCH] Bug 12134: ensure that patrons are not restricted even when the last restriction has expired Test Plan: 1) Add a manual restriction to a patron and wait until the expiration date of the restriction has passed. This can be simulated by modifying borrowers.debarred for a borrower and setting the date in the past. 2) Try to check out an item to that patron 3) Note you cannot 4) Apply this patch 5) Repeat step 2 6) Note you can now check out items the patron Signed-off-by: Jonathan Druart Signed-off-by: Martin Renvoize Signed-off-by: Galen Charlton --- Koha/Borrower/Debarments.pm | 2 +- circ/circulation.pl | 18 +++++++++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/Koha/Borrower/Debarments.pm b/Koha/Borrower/Debarments.pm index 0febc20187..599020897c 100644 --- a/Koha/Borrower/Debarments.pm +++ b/Koha/Borrower/Debarments.pm @@ -183,7 +183,7 @@ sub IsDebarred { return unless ($borrowernumber); - my $sql = "SELECT debarred FROM borrowers WHERE borrowernumber = ?"; + my $sql = "SELECT debarred FROM borrowers WHERE borrowernumber = ? AND debarred > CURRENT_DATE()"; my $sth = C4::Context->dbh->prepare($sql); $sth->execute($borrowernumber); my ($debarred) = $sth->fetchrow_array(); diff --git a/circ/circulation.pl b/circ/circulation.pl index e02b5696b7..216bfc368e 100755 --- a/circ/circulation.pl +++ b/circ/circulation.pl @@ -40,7 +40,7 @@ use C4::Reserves; use C4::Context; use CGI::Session; use C4::Members::Attributes qw(GetBorrowerAttributes); -use Koha::Borrower::Debarments qw(GetDebarments); +use Koha::Borrower::Debarments qw(GetDebarments IsDebarred); use Koha::DateUtils; use Date::Calc qw( @@ -265,12 +265,16 @@ if ($borrowernumber) { finetotal => $fines ); - $template->param( - 'userdebarred' => $borrower->{debarred}, - 'debarredcomment' => $borrower->{debarredcomment}, - ); - if ( $borrower->{debarred} ne "9999-12-31" ) { - $template->param( 'userdebarreddate' => C4::Dates::format_date( $borrower->{debarred} ) ); + if ( IsDebarred($borrowernumber) ) { + $template->param( + 'userdebarred' => $borrower->{debarred}, + 'debarredcomment' => $borrower->{debarredcomment}, + ); + + if ( $borrower->{debarred} ne "9999-12-31" ) { + $template->param( 'userdebarreddate' => + C4::Dates::format_date( $borrower->{debarred} ) ); + } } } -- 2.39.5