aboutsummaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
Diffstat (limited to 'web')
-rw-r--r--web/cobrands/fixmystreet/admin.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/web/cobrands/fixmystreet/admin.js b/web/cobrands/fixmystreet/admin.js
index b947b3e49..8bc956c57 100644
--- a/web/cobrands/fixmystreet/admin.js
+++ b/web/cobrands/fixmystreet/admin.js
@@ -80,6 +80,32 @@ $(function(){
$("form#user_edit .js-user-categories").toggle(show_area);
});
+ $('form#user_edit select#roles').change(function() {
+ var $perms = $('.permissions-checkboxes');
+ if ($(this).val()) {
+ var selected_perms = {};
+ $(this).find(':selected').each(function() {
+ $.each($(this).data('permissions'), function(i, p) {
+ selected_perms['permissions[' + p + ']'] = 1;
+ });
+ });
+ console.log(selected_perms);
+ $perms.css('color', '#666');
+ $perms.find('a').css('color', '#666');
+ $perms.find('input').each(function() {
+ this.checked = selected_perms[this.name] || false;
+ });
+ $perms.find('input').prop('disabled', true);
+ } else {
+ $perms.css('color', '');
+ $perms.find('a').css('color', '');
+ $perms.find('input').each(function() {
+ this.checked = this.hasAttribute('checked');
+ });
+ $perms.find('input').prop('disabled', false);
+ }
+ }).change();
+
// On category edit page, hide the reputation input if inspection isn't required
$("form#category_edit #inspection_required").change(function() {
var $p = $("form#category_edit #reputation_threshold").closest("p");