Преглед изворни кода

HUE-5850 [sentry] Prevent creating roles with empty names

Romain Rigaux пре 8 година
родитељ
комит
2c94b0d

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

@@ -207,7 +207,7 @@ var Role = function (vm, role) {
   self.isEditing = ko.observable(false);
   self.isLoading = ko.observable(false);
   self.isValid = ko.computed(function () {
-    return $.grep(self.privileges(), function (privilege) {
+    return self.name().length > 0 && $.grep(self.privileges(), function (privilege) {
       return privilege.privilegeType() === 'uri' && privilege.URI() === '';
     }).length === 0;
   });

+ 1 - 1
apps/security/src/security/static/security/js/sentry.ko.js

@@ -225,7 +225,7 @@ var Role = function (vm, role) {
   self.showEditGroups = ko.observable(false);
   self.isEditing = ko.observable(false);
   self.isValid = ko.computed(function () {
-    return $.grep(self.privileges(), function (privilege) {
+    return self.name().length > 0 && $.grep(self.privileges(), function (privilege) {
       return privilege.path() === '';
     }).length === 0;
   });

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

@@ -401,8 +401,8 @@ ${ layout.menubar(section='hive1') }
   </div>
   <div class="modal-footer">
     <button class="btn" data-dismiss="modal" aria-hidden="true">${ _('Cancel') }</button>
-    <button class="btn btn-primary disable-enter disable-feedback" data-bind="click: $root.role().create, visible: ! $root.role().isEditing(), css: {'disabled': $root.role().isLoading() || !$root.role().isValid()}">${ _('Save') }</button>
-    <button class="btn btn-primary disable-enter disable-feedback" data-bind="click: $root.role().update, visible: $root.role().isEditing(), css: {'disabled': $root.role().isLoading() || !$root.role().isValid()}">${ _('Update') }</button>
+    <button class="btn btn-primary disable-enter disable-feedback" data-bind="click: $root.role().create, visible: ! $root.role().isEditing(), enable: ! $root.role().isLoading() && $root.role().isValid()">${ _('Save') }</button>
+    <button class="btn btn-primary disable-enter disable-feedback" data-bind="click: $root.role().update, visible: $root.role().isEditing(), enable: ! $root.role().isLoading() && $root.role().isValid()">${ _('Update') }</button>
   </div>
 </div>
 

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

@@ -456,8 +456,8 @@ ${ layout.menubar(section=component) }
   </div>
   <div class="modal-footer">
     <button class="btn" data-dismiss="modal" aria-hidden="true">${ _('Cancel') }</button>
-    <button data-loading-text="${ _('Saving...') }" class="btn btn-primary disable-enter" data-bind="click: $root.role().create, visible: ! $root.role().isEditing(), css: {'disabled': !$root.role().isValid()}">${ _('Save') }</button>
-    <button data-loading-text="${ _('Saving...') }" class="btn btn-primary disable-enter" data-bind="click: $root.role().update, visible: $root.role().isEditing(), css: {'disabled': !$root.role().isValid()}">${ _('Update') }</button>
+    <button data-loading-text="${ _('Saving...') }" class="btn btn-primary disable-enter" data-bind="click: $root.role().create, visible: ! $root.role().isEditing(), enable: $root.role().isValid()">${ _('Save') }</button>
+    <button data-loading-text="${ _('Saving...') }" class="btn btn-primary disable-enter" data-bind="click: $root.role().update, visible: $root.role().isEditing(), enable: $root.role().isValid()">${ _('Update') }</button>
   </div>
 </div>