UI tweak and org deletion
authorJason Etheridge <jason@esilibrary.com>
Mon, 11 Jul 2016 15:25:00 +0000 (11:25 -0400)
committerMike Rylander <mrylander@gmail.com>
Thu, 18 Aug 2016 19:34:22 +0000 (15:34 -0400)
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Open-ILS/src/templates/staff/admin/actor/org_unit/index.tt2
Open-ILS/src/templates/staff/admin/actor/org_unit/t_main_tab.tt2
Open-ILS/web/js/ui/default/staff/admin/actor/org_unit/app.js

index 39a51ee..6cfe50b 100644 (file)
@@ -11,6 +11,8 @@
   angular.module('egCoreMod').run(['egStrings', function(s) {
     s.ORG_UPDATE_SUCCESS = "[% l('Org Unit Updated') %]";
     s.ORG_UPDATE_FAILURE = "[% l('Org Unit Not Updated') %]";
+    s.ORG_DELETE_SUCCESS = "[% l('Org Unit Deleted') %]";
+    s.ORG_DELETE_FAILURE = "[% l('Org Unit Not Deleted') %]";
   }])
 </script>
 <link rel="stylesheet" href="[% ctx.base_path %]/staff/css/admin.css" />
index 2343893..95c42b8 100644 (file)
         </div>
     </div>
     <div class="row">
-        <div class="col-md-3">
+        <div class="col-md-2">
             <button class="form-control" ng-click="reset()">[% l('Reset Form') %]</button>
-            <button class="form-control" ng-click="update()" ng-disabled="orgForm.$invalid">[% l('Update Org') %]</button> [% l('NOTE: A server-side "autogen" process is needed to complete updates to the Org Hierarchy.') %]
         </div>
-        <div class="col-md-7">
+        <div class="col-md-9">
+        </div>
+    </div>
+    <div class="row">
+        <div class="col-md-2">
+            <button class="form-control" ng-click="update()" ng-disabled="orgForm.$invalid">[% l('Update Org') %]</button>
+        </div>
+        <div class="col-md-9">
+            [% l('NOTE: A server-side "autogen" process is needed to complete updates, additions, and deletions to the Org Hierarchy.') %]
         </div>
     </div>
+    <div class="row">
+        <div class="col-md-2">
+            <button class="form-control" ng-click="delete()" ng-disabled="!i_am_sure">[% l('Delete Org') %]</button>
+        </div>
+        <div class="col-md-9">
+            <span>
+                [% l('NOTE: In practice, once an org unit has been used or assigned to items, patrons, etc. deletion becomes non-trivial and will require DBA intervention.') %]
+                [% l('Are you sure?') %]
+            </span>
+            <input type="checkbox" ng-model="i_am_sure" ng-disabled="!org"/>
+        </div>
+    </div>
+
 </form>
 
 </div>
index 24b6226..ce358de 100644 (file)
@@ -112,8 +112,22 @@ function($scope , $q , $routeParams , $window , egCore , egOrg , ngToast ) {
         );
     };
 
-
-
+    $scope.delete = function() {
+        var new_org = egOrg.get($scope.org.id);
+        egCore.pcrud.remove(new_org).then(
+            function(res) { // success
+                window.sessionStorage.removeItem('eg.env.aou.tree');
+                egCore.env.load();
+                init(0);
+                ngToast.create(egCore.strings.ORG_DELETE_SUCCESS);
+            },
+            function(res) { // failure
+                ngToast.create(egCore.strings.ORG_DELETE_FAILURE);
+            },
+            function(res) { // progress
+            }
+        );
+    };
 
 }])