From eb2d72b7e7d0ca9080599721cdd028336fea8d0a Mon Sep 17 00:00:00 2001 From: Petro Vashchuk Date: Fri, 3 Feb 2023 16:22:30 +0200 Subject: [PATCH] Bug 32878: Make it impossible to renew the item if it has active item level hold introduced in: 73c3c5d2f10751c23156372300239d42e5957c66 Bug 31112: (QA follow-up) Reduce database queries started from: 8ba1a9a5345310c54d9225049d470544b56eeb11 Bug 31112: Remove unnecessary if-clause Currently, you can renew the item even if someone already made an item level hold on that item. This patch changes that, making it not possible to do so. To reproduce: 1. Checkout an item, and make another item level hold on that specific item. 2. Renew it using the "Renew" checkbox, it should get renewed without any problems. 3. Apply the patch. 4. Checkbox should be gone and replaced with "On Hold" link that leads to the hold that doesn't allow you to renew the item again. 5. "Renew all" button should not work either. Signed-off-by: Andrew Fuerste-Henry Signed-off-by: Nick Clemens Signed-off-by: Kyle M Hall Signed-off-by: Tomas Cohen Arazi (cherry picked from commit 32c15887d89af6663d83b231af480ff36af15921) Signed-off-by: Martin Renvoize --- C4/Circulation.pm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/C4/Circulation.pm b/C4/Circulation.pm index c33e31d513..04506a1db7 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -2962,6 +2962,10 @@ sub CanBookBeRenewed { } } + # There is an item level hold on this item, no other item can fill the hold + return ( 0, "on_reserve" ) + if ( $item->current_holds->count ); + my $fillable_holds = Koha::Holds->search( { biblionumber => $item->biblionumber, -- 2.20.1