From 40bd96aa82f5513fb8a72b7198498a8b560067e3 Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Fri, 8 Mar 2024 15:25:10 +0000 Subject: [PATCH] Bug 35394: Correction to booked items logic This patch fixes the overly extreme message that was designed to appeared when someone tried to check out a booked item to the wrong user. However, the message never appeared due to a logic error within CanBookBeIssued which this patch also resolved. Test plan 1) Make an item bookable 2) Add a booking for the item to patron A from tomorrow 3) In the database, update the booking start_date to today (or wait a day before the next step) 4) Attempt to check the book out to patron B. Note that you are displayed with the new message 'The item is booked for another patron' and you are unable to check the item out. Signed-off-by: David Nind Signed-off-by: Nick Clemens Signed-off-by: Katrin Fischer (cherry picked from commit 1ebd742e08494c111a8998bee730ed8bd4bcee37) Signed-off-by: Fridolin Somers --- C4/Circulation.pm | 15 ++++++++------- .../prog/en/modules/circ/circulation.tt | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/C4/Circulation.pm b/C4/Circulation.pm index 058666f7be..674f5fcec2 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -1248,17 +1248,18 @@ sub CanBookBeIssued { } else { $alerts{'BOOKED'} = $booking; } + } - } else { - - # Loan falls inside booking - if ( $now > $booking_start ) { - $issuingimpossible{'BOOKED_TO_ANOTHER'} = $booking; + # Booked to another patron + else { + # Booking starts before due date, reduce loan? + if ( $now < $booking_start && $duedate > $booking_start ) { + $needsconfirmation{'BOOKED_TO_ANOTHER'} = $booking; } - # Booking starts before due date, reduce loan? + # Loan falls inside booking else { - $needsconfirmation{'BOOKED_TO_ANOTHER'} = $booking; + $issuingimpossible{'BOOKED_TO_ANOTHER'} = $booking; } } } diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt index d6ed2d9f91..882a55692b 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt @@ -606,7 +606,7 @@ [% END %] [% IF ( BOOKED_TO_ANOTHER ) %] -
  • !!A booking exists!!
  • +
  • The item is booked for another patron
  • [% END %] -- 2.20.1