Bug 14337: AllowRenewalIfOtherItemsAvailable counts holdable not for loan items when checking renewability

AllowRenewalIfOtherItemsAvailable checks
C4::Reserves::IsAvailableForItemLevelRequest to see if the item is
holdable, which catches not for loan values less than 0 ( i.e. holdable,
but not circ-able ). However, since this feature is about
actually checking out items to patrons, we should not count *any* not
for loan items when deciding if the available items will satisfy all
current holds.

Test Plan:
 1) Enable AllowRenewalIfOtherItemsAvailable
 2) Create a record with two items
 3) Check out one item to a patron
 4) Ensure the item is renewable
 5) Place a hold on the record
 6) The item should now be non-renewable
 7) Add a second item to the record, but with a not for loan value < 0
 8) Note the checkout is still renewable
 9) Apply this patch
10) Note the checkout is now non-renewable

Works ok.

Signed-off-by: Amit Gupta <amit.gupta@informaticsglobal.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
Kyle Hall 2015-06-05 07:50:26 -04:00 committed by Tomas Cohen Arazi
parent 991a8181b2
commit 3389e03035

View file

@ -2693,6 +2693,7 @@ sub CanBookBeRenewed {
{ {
biblionumber => $resrec->{biblionumber}, biblionumber => $resrec->{biblionumber},
onloan => undef, onloan => undef,
notforloan => 0,
-not => { itemnumber => $itemnumber } -not => { itemnumber => $itemnumber }
}, },
{ columns => 'itemnumber' } { columns => 'itemnumber' }