From ddf43665a6ad9050599d4cc63225b3d4b48231c5 Mon Sep 17 00:00:00 2001 From: Mike Rylander Date: Thu, 30 Oct 2014 10:38:15 -0400 Subject: [PATCH] LP#1402797 Add the ability (and action) to uncancel holds Signed-off-by: Mike Rylander Signed-off-by: Kathy Lussier --- .../src/templates/staff/cat/catalog/t_holds.tt2 | 2 + .../src/templates/staff/circ/holds/t_pull_list.tt2 | 2 + .../templates/staff/circ/holds/t_shelf_list.tt2 | 2 + .../templates/staff/circ/patron/t_holds_list.tt2 | 2 + .../staff/circ/share/t_uncancel_hold_dialog.tt2 | 17 +++++++++ .../web/js/ui/default/staff/circ/services/holds.js | 43 ++++++++++++++++++++++ 6 files changed, 68 insertions(+) create mode 100644 Open-ILS/src/templates/staff/circ/share/t_uncancel_hold_dialog.tt2 diff --git a/Open-ILS/src/templates/staff/cat/catalog/t_holds.tt2 b/Open-ILS/src/templates/staff/cat/catalog/t_holds.tt2 index b21146d9ea..13d5bf91bc 100644 --- a/Open-ILS/src/templates/staff/cat/catalog/t_holds.tt2 +++ b/Open-ILS/src/templates/staff/cat/catalog/t_holds.tt2 @@ -50,6 +50,8 @@ label="[% l('Find Another Target') %]"> + + + + + + + diff --git a/Open-ILS/web/js/ui/default/staff/circ/services/holds.js b/Open-ILS/web/js/ui/default/staff/circ/services/holds.js index a22201818c..77e4fb9db4 100644 --- a/Open-ILS/web/js/ui/default/staff/circ/services/holds.js +++ b/Open-ILS/web/js/ui/default/staff/circ/services/holds.js @@ -107,6 +107,49 @@ function($modal , $q , egCore , egUser , egConfirmDialog , egAlertDialog) { }).result; } + service.uncancel_holds = function(hold_ids) { + + return $modal.open({ + templateUrl : './circ/share/t_uncancel_hold_dialog', + controller : + ['$scope', '$modalInstance', + function($scope, $modalInstance) { + $scope.args = { + num_holds : hold_ids.length + }; + + $scope.cancel = function($event) { + $modalInstance.dismiss(); + $event.preventDefault(); + } + + $scope.ok = function() { + + function uncancel_one() { + var hold_id = hold_ids.pop(); + if (!hold_id) { + $modalInstance.close(); + return; + } + egCore.net.request( + 'open-ils.circ', 'open-ils.circ.hold.uncancel', + egCore.auth.token(), hold_id + ).then(function(resp) { + if (evt = egCore.evt.parse(resp)) { + console.error('unable to uncancel hold: ' + + evt.toString()); + } + uncancel_one(); + }); + } + + uncancel_one(); + } + } + ] + }).result; + } + service.get_cancel_reasons = function() { if (egCore.env.ahrcc) return $q.when(egCore.env.ahrcc.list); return egCore.pcrud.retrieveAll('ahrcc', {}, {atomic : true}) -- 2.11.0