From 01f27070b56eb260682e52821115c50d17769106 Mon Sep 17 00:00:00 2001 From: senator Date: Thu, 26 Aug 2010 14:39:59 +0000 Subject: [PATCH] Fix OPAC renewals, broken by an imperfect booking test. git-svn-id: svn://svn.open-ils.org/ILS/trunk@17346 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../perlmods/OpenILS/Application/Circ/Circulate.pm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Circ/Circulate.pm b/Open-ILS/src/perlmods/OpenILS/Application/Circ/Circulate.pm index 70c025a0cd..eb62f30af6 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Circ/Circulate.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Circ/Circulate.pm @@ -238,7 +238,18 @@ sub run_method { # Go ahead and load the script runner to make sure we have all # of the objects we need # -------------------------------------------------------------------------- - $circulator->is_res_checkin($circulator->is_checkin(1)) if $api =~ /reservation.return/ or $circulator->seems_like_reservation(); + + # XXX I wanted to make this better so it might support blocking renewals + # if a reservation has been placed on an item, but that will need more + # design, as institutions will differ in their policy on that. In the + # meantime making sure we're trying some kind of checkin will at least + # keep OPAC renewals from breaking since patrons don't have VIEW_USER... + + $circulator->is_res_checkin($circulator->is_checkin(1)) + if $api =~ /reservation.return/ or ( + $api =~ /checkin/ and $circulator->seems_like_reservation() + ); + $circulator->is_res_checkout(1) if $api =~ /reservation.pickup/; $circulator->is_renewal(1) if $api =~ /renew/; -- 2.43.2