LP1182519 Per-Hold Behind Desk ML
authorBill Erickson <berick@esilibrary.com>
Tue, 21 May 2013 17:00:20 +0000 (13:00 -0400)
committerBill Erickson <berick@esilibrary.com>
Tue, 21 May 2013 17:00:20 +0000 (13:00 -0400)
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/Order.pm
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm

index d8f7e8d..2951898 100644 (file)
@@ -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;
     }
 
index cde9619..a2eda23 100644 (file)
@@ -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;