Эх сурвалжийг харах

[security] Fix for multiple occurrences of groups on the group list

Enrico Berti 11 жил өмнө
parent
commit
0b22f9cc45

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

@@ -281,7 +281,7 @@ ${ layout.menubar(section='hive') }
   </div>
   <div class="modal-footer">
     <button class="btn" data-dismiss="modal" aria-hidden="true">${ _('Cancel') }</button>
-    <button rel="tooltip" data-placement="bottom" data-loading-text="${ _('Saving...') }" data-original-title="${ _('Add role') }" class="btn btn-primary" data-bind="click: $root.role.create">${ _('Add role') }</button>
+    <button data-loading-text="${ _('Saving...') }" class="btn btn-primary" data-bind="click: $root.role.create">${ _('Add role') }</button>
   </div>
 </div>
 

+ 15 - 4
apps/security/static/js/common.ko.js

@@ -24,10 +24,21 @@ ko.bindingHandlers.select2 = {
           username: options.update
         });
       }
-      if (options.type == "group" && viewModel.selectableHadoopGroups().indexOf(options.update) == -1) {
-        viewModel.availableHadoopGroups.push({
-          name: options.update
-        });
+      if (options.type == "group") {
+        if (options.update instanceof Array) {
+          options.update.forEach(function(opt){
+            if (viewModel.selectableHadoopGroups().indexOf(opt) == -1){
+              viewModel.availableHadoopGroups.push({
+                name: options.update
+              });
+            }
+          });
+        }
+        else if (viewModel.selectableHadoopGroups().indexOf(options.update) == -1){
+          viewModel.availableHadoopGroups.push({
+            name: options.update
+          });
+        }
       }
       if (options.type == "action" && viewModel.availableActions().indexOf(options.update) == -1) {
         viewModel.availableActions.push(options.update);