LP#1737800 - add delete action to pending patrons
authorCesar Velez <cesar.velez@equinoxinitiative.org>
Wed, 12 Dec 2018 22:43:35 +0000 (17:43 -0500)
committerBill Erickson <berickxx@gmail.com>
Tue, 15 Jan 2019 19:52:57 +0000 (14:52 -0500)
This adds a way to remove a pending/staged user from
the pending users grid.

Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>

Open-ILS/src/templates/staff/circ/patron/t_pending_list.tt2
Open-ILS/web/js/ui/default/staff/circ/patron/pending.js

index 7384211..c8ecf9f 100644 (file)
@@ -22,6 +22,9 @@
   <eg-grid-menu-item handler="load_patron" 
     label="[% l('Load Patron') %]"></eg-grid-menu-item>
 
+  <eg-grid-menu-item handler="deletePatron"
+    label="[% l('Delete Pending Patron(s)') %]"></eg-grid-menu-item>
+
   <eg-grid-field path='user.row_date' label="[% l('Create Date') %]"></eg-grid-field>
   <eg-grid-field path='user.first_given_name' label="[% l('First Name') %]"></eg-grid-field>
   <eg-grid-field path='user.second_given_name' label="[% l('Middle Name') %]"></eg-grid-field>
index 0912eb8..59b1556 100644 (file)
@@ -37,12 +37,33 @@ function($scope , $q , $routeParams , $window , $location , egCore , egGridDataP
         ).focus();
     }
 
+    function delete_patron(sel_pending_users) {
+        if (angular.isArray(sel_pending_users)){
+           var promises = [];
+            angular.forEach(sel_pending_users, function(stgu){
+                promises.push(egCore.net.request(
+                    'open-ils.actor',
+                    'open-ils.actor.user.stage.delete',
+                    egCore.auth.token(),
+                    stgu.user.row_id()
+                ));
+            });
+
+            $q.all(promises).then(refresh_page);
+        }
+    }
+
     $scope.load_patron = function(action, data, items) {
         load_patron(items);
     }
 
+    $scope.deletePatron = function(action, data, items) {
+        delete_patron(items);
+    }
+
     $scope.grid_controls = {
-        activateItem : load_patron
+        activateItem : load_patron,
+        deleteItem : delete_patron
     }
 
     function refresh_page() {