From ccb9d30c26832e81d37939fd678e8d6ce94faa5c Mon Sep 17 00:00:00 2001 From: Julian Maurice Date: Wed, 31 Aug 2016 15:27:44 +0200 Subject: [PATCH] Bug 17229: Check if patron is expired in CanItemBeReserved This way, calls to ILS-DI HoldTitle and HoldItem do this check too --- C4/Reserves.pm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/C4/Reserves.pm b/C4/Reserves.pm index 1598eb6581..4097b43a9d 100644 --- a/C4/Reserves.pm +++ b/C4/Reserves.pm @@ -391,6 +391,7 @@ sub CanBookBeReserved{ cannotReserveFromOtherBranches, if syspref 'canreservefromotherbranches' is OK. tooManyReserves, if the borrower has exceeded his maximum reserve amount. notReservable, if holds on this item are not allowed + expired, if patron is expired and expired patrons are not allowed to place holds =cut @@ -406,7 +407,12 @@ sub CanItemBeReserved { # item->{itype} will come for biblioitems if necessery my $item = GetItem($itemnumber); my $biblioData = C4::Biblio::GetBiblioData( $item->{biblionumber} ); - my $borrower = C4::Members::GetMember( 'borrowernumber' => $borrowernumber ); + my $patron = Koha::Patrons->find($borrowernumber); + my $borrower = $patron->unblessed; + + if ($patron->category->effective_BlockExpiredPatronOpacActions && $patron->is_expired) { + return 'expired'; + } # If an item is damaged and we don't allow holds on damaged items, we can stop right here return 'damaged' -- 2.11.0