From b3d4bb5f364cca24d02b64ace7de884290f21992 Mon Sep 17 00:00:00 2001 From: Bill Ott Date: Tue, 20 Aug 2013 11:19:27 -0400 Subject: [PATCH] LP 1189989: Add suspend option when placing hold Return of an option from JSPAC, the ability to immediately suspend a hold when it's placed. TODO: As noted in the code for editing a hold, a calendar selection would be preferred to requiring users to enter a valid date manually. This commit was a patch submitted by Bill Ott to Launchpad in August 2013. Jason Stephenson applied the patch on April 22, 2017 and resolved conflicts caused by the addition of a metarecords hold feature in the TPAC. The revised patch was committed with the original author and commit timestamp. Signed-off-by: Bill Ott Signed-off-by: Jason Stephenson Signed-off-by: Kathy Lussier Signed-off-by: Galen Charlton --- .../src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm | 9 ++++++++- Open-ILS/src/templates/opac/parts/place_hold.tt2 | 8 ++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm index 9f96bfd3f2..91edcb6c3c 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm @@ -1289,6 +1289,11 @@ sub attempt_hold_placement { my @create_targets = map {$_->{target_id}} (grep { !$_->{hold_failed} } @hold_data); + my $thaw_date; + if ($cgi->param('hold_suspend') && $cgi->param('thaw_date') =~ m:^(\d{2})/(\d{2})/(\d{4})$:){ + $thaw_date = "$3-$1-$2"; + } + if(@create_targets) { # holdable formats may be different for each MR hold. @@ -1307,7 +1312,9 @@ sub attempt_hold_placement { patronid => $usr, pickup_lib => $pickup_lib, hold_type => $hold_type, - holdable_formats_map => $holdable_formats + holdable_formats_map => $holdable_formats, + frozen => $cgi->param('hold_suspend'), + thaw_date => $thaw_date }), \@create_targets ); diff --git a/Open-ILS/src/templates/opac/parts/place_hold.tt2 b/Open-ILS/src/templates/opac/parts/place_hold.tt2 index 8bf17134e6..0a759f02d3 100644 --- a/Open-ILS/src/templates/opac/parts/place_hold.tt2 +++ b/Open-ILS/src/templates/opac/parts/place_hold.tt2 @@ -202,6 +202,14 @@ [% END %] +
+ [% l('Suspend This Hold?') %] +
+
+ [% l('If suspended, activate on') %] + + [% l('Enter date in MM/DD/YYYY format') %] +