From: Bill Erickson Date: Tue, 21 May 2013 17:00:20 +0000 (-0400) Subject: LP1182519 Per-Hold Behind Desk ML X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=58d43a1620515f96447d58f1c1fa2dd591ba7698;p=evergreen%2Fequinox.git LP1182519 Per-Hold Behind Desk ML Signed-off-by: Bill Erickson --- diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/Order.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/Order.pm index d8f7e8d4e0..2951898b61 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/Order.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/Order.pm @@ -274,6 +274,12 @@ sub promote_lineitem_holds { $hold->target( $li->eg_bib_id ); } + my $set = $mgr->editor->search_actor_user_setting( + {usr => $hold->usr, name => 'circ.holds_behind_desk'})->[0]; + + $hold->behind_desk('t') if $set and + OpenSRF::Utils::JSON->JSON2perl($set->value); + $mgr->editor->create_action_hold_request( $hold ) or return 0; } diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm index cde9619037..a2eda236e7 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm @@ -36,6 +36,7 @@ use DateTime::Format::ISO8601; use OpenSRF::Utils qw/:datetime/; use Digest::MD5 qw(md5_hex); use OpenSRF::Utils::Cache; +use OpenSRF::Utils::JSON; my $apputils = "OpenILS::Application::AppUtils"; my $U = $apputils; @@ -338,6 +339,12 @@ sub create_hold { $hold->expire_time(calculate_expire_time($recipient->home_ou)); } + my $set = $e->search_actor_user_setting( + {usr => $hold->usr, name => 'circ.holds_behind_desk'})->[0]; + + $hold->behind_desk('t') if $set and + OpenSRF::Utils::JSON->JSON2perl($set->value); + $hold->requestor($e->requestor->id); $hold->request_lib($e->requestor->ws_ou); $hold->selection_ou($hold->pickup_lib) unless $hold->selection_ou;