Переглянути джерело

HUE-3845 [sentry] Sometimes see group as editable on role section

Enrico Berti 9 роки тому
батько
коміт
1065e4a4a0

+ 3 - 0
apps/security/src/security/static/security/js/hive.ko.js

@@ -178,6 +178,8 @@ var Role = function (vm, role) {
 
   self.groups = ko.observableArray();
   self.originalGroups = ko.observableArray();
+  self.groups.extend({ rateLimit: 300 });
+  self.originalGroups.extend({ rateLimit: 300 });
   $.each(typeof role.groups != "undefined" && role.groups != null ? role.groups : [], function (index, group) {
     self.groups.push(group);
     self.originalGroups.push(group);
@@ -214,6 +216,7 @@ var Role = function (vm, role) {
   self.groupsChanged = ko.computed(function () {
     return !($(self.groups()).not(self.originalGroups()).length == 0 && $(self.originalGroups()).not(self.groups()).length == 0);
   });
+  self.groupsChanged.extend({ rateLimit: 300 });
 
   self.privilegesForView = ko.computed(function() {
     var _filter = vm.privilegeFilter().toLowerCase();

+ 3 - 0
apps/security/src/security/static/security/js/sentry.ko.js

@@ -197,6 +197,8 @@ var Role = function (vm, role) {
 
   self.groups = ko.observableArray();
   self.originalGroups = ko.observableArray();
+  self.groups.extend({ rateLimit: 300 });
+  self.originalGroups.extend({ rateLimit: 300 });
   $.each(typeof role.groups != "undefined" && role.groups != null ? role.groups : [], function (index, group) {
     self.groups.push(group);
     self.originalGroups.push(group);
@@ -232,6 +234,7 @@ var Role = function (vm, role) {
   self.groupsChanged = ko.computed(function () {
     return !($(self.groups()).not(self.originalGroups()).length == 0 && $(self.originalGroups()).not(self.groups()).length == 0);
   });
+  self.groupsChanged.extend({ rateLimit: 300 });
 
   self.privilegesForView = ko.computed(function() {
     var _filter = vm.privilegeFilter().toLowerCase();

+ 8 - 8
apps/security/src/security/templates/hive.mako

@@ -314,22 +314,22 @@ ${ layout.menubar(section='hive1') }
                       <i class="fa fa-plus"></i> ${ _('Add a group') }
                     </span>
                   </a>
-                  <!-- /ko -->
-                  <!-- ko ifnot: $root.is_sentry_admin -->
-                    <span data-bind="foreach: groups">
-                      <span data-bind="text: $data"></span>
-                    </span>
-                  <!-- /ko -->
                   <div data-bind="visible: showEditGroups() || (groupsChanged() && ! $root.isLoadingRoles())">
                     <select data-bind="options: $root.selectableHadoopGroups, selectedOptions: groups, select2: { update: groups, type: 'group', onBlur: function(){ showEditGroups(false); } }" size="5" multiple="true" style="width: 400px"></select>
                     &nbsp;
-                    <a class="pointer" data-bind="visible: groupsChanged() && ! $root.isLoadingRoles(), click: resetGroups">
+                    <a class="pointer" data-bind="visible: groupsChanged() && !$root.isLoadingRoles(), click: resetGroups">
                       <i class="fa fa-undo"></i>
                     </a>
-                    <a class="pointer" data-bind="visible: groupsChanged() && ! $root.isLoadingRoles(), click: saveGroups">
+                    <a class="pointer" data-bind="visible: groupsChanged() && !$root.isLoadingRoles(), click: saveGroups">
                       <i class="fa fa-save"></i>
                     </a>
                   </div>
+                  <!-- /ko -->
+                  <!-- ko ifnot: $root.is_sentry_admin -->
+                    <span data-bind="foreach: groups">
+                      <span data-bind="text: $data"></span>
+                    </span>
+                  <!-- /ko -->
                 </td>
                 <td>
                 </td>

+ 8 - 8
apps/security/src/security/templates/sentry.mako

@@ -357,22 +357,22 @@ ${ layout.menubar(section=component) }
                       <i class="fa fa-plus"></i> ${ _('Add a group') }
                     </span>
                   </a>
-                  <!-- /ko -->
-                  <!-- ko ifnot: $root.is_sentry_admin -->
-                    <span data-bind="foreach: groups">
-                      <span data-bind="text: $data"></span>
-                    </span>
-                  <!-- /ko -->
                   <div data-bind="visible: showEditGroups() || (groupsChanged() && ! $root.isLoadingRoles())">
                     <select data-bind="options: $root.selectableHadoopGroups, selectedOptions: groups, select2: { update: groups, type: 'group', onBlur: function(){ showEditGroups(false); } }" size="5" multiple="true" style="width: 400px"></select>
                     &nbsp;
-                    <a class="pointer" data-bind="visible: groupsChanged() && ! $root.isLoadingRoles(), click: resetGroups">
+                    <a class="pointer" data-bind="visible: groupsChanged() && !$root.isLoadingRoles(), click: resetGroups">
                       <i class="fa fa-undo"></i>
                     </a>
-                    <a class="pointer" data-bind="visible: groupsChanged && ! $root.isLoadingRoles(), click: saveGroups">
+                    <a class="pointer" data-bind="visible: groupsChanged() && !$root.isLoadingRoles(), click: saveGroups">
                       <i class="fa fa-save"></i>
                     </a>
                   </div>
+                  <!-- /ko -->
+                  <!-- ko ifnot: $root.is_sentry_admin -->
+                    <span data-bind="foreach: groups">
+                      <span data-bind="text: $data"></span>
+                    </span>
+                  <!-- /ko -->
                 </td>
                 <td>
                 </td>