From d3bcaf27fc470d533f4792a39a4022af73ad24af Mon Sep 17 00:00:00 2001 From: Mike Rylander Date: Fri, 5 Jun 2020 11:00:42 -0400 Subject: [PATCH] Support several A/T core types with the Curbside validator Signed-off-by: Mike Rylander --- .../OpenILS/Application/Trigger/Validator/Curbside.pm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Validator/Curbside.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Validator/Curbside.pm index f6101fbc19..081962f0c4 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Validator/Curbside.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Validator/Curbside.pm @@ -5,8 +5,23 @@ my $U = 'OpenILS::Application::AppUtils'; sub handler { my ($self, $env) = @_; + my $org; + + # support a few different target types + if ($env->{target}->isa('Fieldmapper::action::curbside')) { + $org = $env->{target}->org; + } elsif ($env->{target}->isa('Fieldmapper::action::hold_request')) { + $org = $env->{target}->pickup_lib; + } elsif ($env->{target}->isa('Fieldmapper::actor::usr')) { + $org = $env->{target}->home_ou; + } elsif ($env->{target}->isa('Fieldmapper::actor::org_unit')) { + $org = $env->{target}->id; + } + + return 0 unless (defined $org); + return $U->is_true( - $U->ou_ancestor_setting_value($env->{target}->pickup_lib, 'circ.curbside') + $U->ou_ancestor_setting_value($org, 'circ.curbside') ); } -- 2.11.0