From c9dd2e59b88328d582268cd4cf0aaf3777314a83 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Thu, 10 May 2018 11:40:11 -0300 Subject: [PATCH] Bug 20724: Move the ReservesNeedReturns logic to AddReserve --- C4/Reserves.pm | 10 ++++++++++ opac/opac-reserve.pl | 6 ------ reserve/placerequest.pl | 12 ------------ 3 files changed, 10 insertions(+), 18 deletions(-) diff --git a/C4/Reserves.pm b/C4/Reserves.pm index a919f7581c..c0a977ff5f 100644 --- a/C4/Reserves.pm +++ b/C4/Reserves.pm @@ -171,6 +171,16 @@ sub AddReserve { $expdate = output_pref({ str => $expdate, dateonly => 1, dateformat => 'iso' }); + # if we have an item selectionned, and the pickup branch is the same as the holdingbranch + # of the document, we force the value $priority and $found . + if ( $checkitem and not C4::Context->preference('ReservesNeedReturns') ) { + $priority = 0; + my $item = Koha::Items->find( $checkitem ); # FIXME Prevent bad calls + if ( $item->holdingbranch eq $branch ) { + $found = 'W'; + } + } + if ( C4::Context->preference('AllowHoldDateInFuture') ) { # Make room in reserves for this before those of a later reserve date diff --git a/opac/opac-reserve.pl b/opac/opac-reserve.pl index 4a0dbb9837..c290ea4866 100755 --- a/opac/opac-reserve.pl +++ b/opac/opac-reserve.pl @@ -272,12 +272,6 @@ if ( $query->param('place_reserve') ) { my $rank = $biblioData->{rank}; if ( $itemNum ne '' ) { $canreserve = 1 if CanItemBeReserved( $borrowernumber, $itemNum ) eq 'OK'; - $rank = '0' unless C4::Context->preference('ReservesNeedReturns'); - my $item = GetItem($itemNum); - if ( $item->{'holdingbranch'} eq $branch ) { - $found = 'W' - unless C4::Context->preference('ReservesNeedReturns'); - } } else { $canreserve = 1 if CanBookBeReserved( $borrowernumber, $biblioNum ) eq 'OK'; diff --git a/reserve/placerequest.pl b/reserve/placerequest.pl index 3c55656380..351041b5df 100755 --- a/reserve/placerequest.pl +++ b/reserve/placerequest.pl @@ -70,18 +70,6 @@ foreach my $bibnum (@biblionumbers) { my $found; -# if we have an item selectionned, and the pickup branch is the same as the holdingbranch -# of the document, we force the value $rank and $found . -if (defined $checkitem && $checkitem ne ''){ - $holds_to_place_count = 1; - $rank[0] = '0' unless C4::Context->preference('ReservesNeedReturns'); - my $item = $checkitem; - $item = GetItem($item); - if ( $item->{'holdingbranch'} eq $branch ){ - $found = 'W' unless C4::Context->preference('ReservesNeedReturns'); - } -} - if ( $type eq 'str8' && $borrower ) { foreach my $biblionumber ( keys %bibinfos ) { -- 2.11.0