From a8fb687dca9a81575eb4f300f7228a12523807b3 Mon Sep 17 00:00:00 2001 From: Kyle Huckins Date: Tue, 19 Jan 2021 17:59:33 +0000 Subject: [PATCH] Ensure Circ library determination is made when Circ object exists - Move circ_lib check to do_renew, after $circ object is created. Signed-off-by: Kyle Huckins --- .../perlmods/lib/OpenILS/Application/Circ/Circulate.pm | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm index 72f6b3ca2d..4f1873aa30 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm @@ -1025,13 +1025,7 @@ sub mk_env { # An expired patron can renew with the assistance of an OUS. if($self->opac_renewal or $self->auto_renewal) { - my $use_circ_lib = $self->editor->retrieve_config_global_flag('circ.opac_renewal.use_original_circ_lib'); - if($use_circ_lib and $U->is_true($use_circ_lib->enabled)) { - $self->circ_lib($self->circ->circ_lib); - } - else { - $self->circ_lib($patron->home_ou); - } + $self->{allow_expired_renewal} = 1; } my $expire_setting = $U->ou_ancestor_setting_value($self->circ_lib, OILS_SETTING_ALLOW_RENEW_FOR_EXPIRED_PATRON); @@ -4092,6 +4086,16 @@ sub do_renew { unless $self->editor->allowed('RENEW_CIRC', $circ->circ_lib); } + if($self->{allow_expired_renewal} == 1) { + my $use_circ_lib = $self->editor->retrieve_config_global_flag('circ.opac_renewal.use_original_circ_lib'); + if($use_circ_lib and $U->is_true($use_circ_lib->enabled)) { + $self->circ_lib($self->circ->circ_lib); + } + else { + $self->circ_lib($self->patron->home_ou) if $self->patron; + } + } + $self->push_events(OpenILS::Event->new('MAX_RENEWALS_REACHED')) if $circ->renewal_remaining < 1; -- 2.11.0