browser staff : stored prefs perm check
authorBill Erickson <berick@esilibrary.com>
Thu, 24 Apr 2014 15:56:32 +0000 (11:56 -0400)
committerBill Erickson <berick@esilibrary.com>
Thu, 24 Apr 2014 15:56:32 +0000 (11:56 -0400)
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Open-ILS/src/templates/staff/admin/workstation/index.tt2
Open-ILS/src/templates/staff/admin/workstation/t_stored_prefs.tt2
Open-ILS/web/js/ui/default/staff/admin/workstation/app.js

index a33adde..64d7fe8 100644 (file)
@@ -7,6 +7,7 @@
 [% BLOCK APP_JS %]
 <script src="[% ctx.media_prefix %]/js/ui/default/staff/services/grid.js"></script>
 <script src="[% ctx.media_prefix %]/js/ui/default/staff/services/ui.js"></script>
+<script src="[% ctx.media_prefix %]/js/ui/default/staff/services/user.js"></script>
 <script src="[% ctx.media_prefix %]/js/ui/default/staff/admin/workstation/app.js"></script>
 <script>
 angular.module('egCoreMod')
index 48ceea5..0efa9cf 100644 (file)
@@ -9,6 +9,19 @@
 </style>
 <div class="container" id="stored-prefs-container">
   <div class="row">
+    <div class="col-md-12">
+      <h2>[% l('Stored User Preferences') %]</h2>
+      <div class="well">
+[% |l %]
+Preference values are stored as JSON strings.  
+Click on a preference to view the stored value.
+Click on the delete (X) button to remove a preference's value.
+[% END %]
+      </div>
+    </div>
+  </div>
+
+  <div class="row">
 
     <!-- key list -->
     <div class="col-md-4">
@@ -23,6 +36,7 @@
         </div>
         <div class="col-md-1" class="stored-prefs-remove-button">
           <button class="btn btn-default btn-danger"
+            ng-class="{disabled : !userHasDeletePerm}"
             ng-click="removeKey(key)" title="[% l('Remove Item') %]">
             <span class="glyphicon glyphicon-remove"></span>
           </button>
index 265823a..54c4821 100644 (file)
@@ -5,7 +5,7 @@
  */
 
 angular.module('egWorkstationAdmin', 
-    ['ngRoute', 'ui.bootstrap', 'egCoreMod', 'egUiMod'])
+    ['ngRoute', 'ui.bootstrap', 'egCoreMod', 'egUiMod','egUserMod'])
 
 .config(['$routeProvider','$locationProvider','$compileProvider', 
  function($routeProvider , $locationProvider , $compileProvider) {
@@ -168,10 +168,14 @@ function($scope , egPrintStore) {
 }])
 
 .controller('StoredPrefsCtrl',
-       ['$scope','egPrintStore','egConfirmDialog','egAppStrings',
-function($scope , egPrintStore , egConfirmDialog , egAppStrings) {
+       ['$scope','egUser','egPrintStore','egConfirmDialog','egAppStrings',
+function($scope , egUser , egPrintStore , egConfirmDialog , egAppStrings) {
     console.log('StoredPrefsCtrl');
 
+    $scope.userHasDeletePerm = false;
+    egUser.hasPermHere('DELETE_WORKSTATION_PREFS')
+    .then(function(bool) { $scope.userHasDeletePerm = bool });
+
     function refreshKeys() {
         egPrintStore.getKeys()
         .then(function(keys) { $scope.keys = keys.sort() })