Browse Source

[security] Create a new role from the Hive tree

Enrico Berti 11 years ago
parent
commit
256657f21f

+ 2 - 3
apps/security/src/security/templates/hive.mako

@@ -173,9 +173,8 @@ ${ layout.menubar(section='hive') }
             <div class="span6 acl-panel">
               <div class="acl-panel-content">
                 <h4 style="margin-top: 4px">${ _('Privileges') }</h4>
-                <div data-bind="visible: $root.assist.privileges().length == 0"><em class="muted">${ _('No privileges found for the selected item.')}</em></div>
-                  <div data-bind="template: { name: 'role', foreach: $root.assist.roles }">
-                </div>
+                <div data-bind="visible: $root.assist.privileges().length == 0"><em class="muted">${ _('No privileges found for the selected item.')} <a class="pointer" data-bind="click: function(){ $root.showCreateRole(true); $('#createRoleModal').modal('show'); }">${ _('Click here to add a new role.') }</a> </em></div>
+                <div data-bind="template: { name: 'role', foreach: $root.assist.roles }"></div>
               </div>
             </div>
           </div>

+ 3 - 1
apps/security/static/js/hive.ko.js

@@ -194,6 +194,7 @@ var Role = function (vm, role) {
         $(document).trigger("created.role");
         var role = new Role(vm, data.role);
         vm.roles.unshift(role);
+        vm.assist.refreshTree();
         vm.list_sentry_privileges_by_role(role); // Show privileges        
       } else {
         $(document).trigger("error", data.message);
@@ -210,6 +211,7 @@ var Role = function (vm, role) {
     }, function (data) {
       if (data.status == 0) {
         vm.removeRole(role.name);
+        vm.assist.refreshTree();
       } else {
         $(document).trigger("error", data.message);
       }
@@ -445,7 +447,7 @@ var Assist = function (vm, initial) {
         }
       });
     });
-
+    vm.list_sentry_privileges_by_authorizable();
   }
 
   self.setPath = function (obj, toggle) {