Skip to content
Browse files

ENHANCEMENT Disabling/checking permission checkboxes in admin/securit…

…y when 'ADMIN' permission is selected

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/trunk@99600 467b73ca-7a2a-4603-9d3b-597d59a354a9
  • Loading branch information...
1 parent ca3b8d5 commit f22f2e2a1bc7b98ec17293d9f360cee3ac837cb7 @chillu chillu committed Feb 22, 2010
Showing with 31 additions and 0 deletions.
  1. +31 −0 javascript/SecurityAdmin.js
View
31 javascript/SecurityAdmin.js
@@ -61,6 +61,37 @@
return false;
}
});
+
+ /**
+ * Automatically check and disable all checkboxes if ADMIN permissions are selected.
+ * As they're disabled, any changes won't be submitted (which is intended behaviour),
+ * checking all boxes is purely presentational.
+ */
+ $('#Form_EditForm #Permissions .checkbox[value=ADMIN]').concrete({
+ onmatch: function() {
+ this.toggleCheckboxes();
+
+ this._super();
+ },
+ onclick: function(e) {
+ this.toggleCheckboxes();
+ },
+ toggleCheckboxes: function() {
+ var self = this, checkboxes = this.parents('.permissioncheckboxset:eq(0)').find('.checkbox').not(this);
+ if(this.is(':checked')) {
+ checkboxes.each(function() {
+ $(this).data('SecurityAdmin.oldChecked', $(this).attr('checked'));
+ $(this).attr('disabled', 'disabled');
+ $(this).attr('checked', 'checked');
+ });
+ } else {
+ checkboxes.each(function() {
+ $(this).attr('checked', $(this).data('SecurityAdmin.oldChecked'));
+ $(this).attr('disabled', '');
+ });
+ }
+ }
+ });
});
}(jQuery));

0 comments on commit f22f2e2

Please sign in to comment.
Something went wrong with that request. Please try again.