From 4de2081dc009b72c085922cbbf2fe1396aa2b03e 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 --- C4/Circulation.pm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/C4/Circulation.pm b/C4/Circulation.pm index 547c89df48..b04451fc27 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -2954,6 +2954,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.30.2