diff --git a/frappe/core/doctype/user/user.js b/frappe/core/doctype/user/user.js
index ba78e21c08..d74e98bf7f 100644
--- a/frappe/core/doctype/user/user.js
+++ b/frappe/core/doctype/user/user.js
@@ -43,13 +43,12 @@ frappe.ui.form.on('User', {
if(!frm.roles_editor) {
var role_area = $('
')
.appendTo(frm.fields_dict.roles_html.wrapper);
- frm.roles_editor = new frappe.RoleEditor(role_area, frm, true);
+ frm.roles_editor = new frappe.RoleEditor(role_area, frm, frm.doc.role_profile_name ? 1 : 0);
var module_area = $('
')
.appendTo(frm.fields_dict.modules_html.wrapper);
- frm.module_editor = new frappe.ModuleEditor(frm, module_area)
- }
- else {
+ frm.module_editor = new frappe.ModuleEditor(frm, module_area);
+ } else {
frm.roles_editor.show();
}
}
@@ -113,7 +112,11 @@ frappe.ui.form.on('User', {
frm.trigger('enabled');
- frm.roles_editor && frm.roles_editor.show();
+ if (frm.roles_editor) {
+ frm.roles_editor.disabled = frm.doc.role_profile_name ? 1 : 0;
+ frm.roles_editor.show();
+ }
+
frm.module_editor && frm.module_editor.refresh();
if(frappe.session.user==doc.name) {
diff --git a/frappe/public/js/frappe/roles_editor.js b/frappe/public/js/frappe/roles_editor.js
index dc69f5a3d2..f5870a67c0 100644
--- a/frappe/public/js/frappe/roles_editor.js
+++ b/frappe/public/js/frappe/roles_editor.js
@@ -78,6 +78,11 @@ frappe.RoleEditor = Class.extend({
.find('[data-user-role="'+user_role.role+'"] input[type="checkbox"]').get(0);
if(checkbox) checkbox.checked = true;
});
+
+ this.set_enable_disable();
+ },
+ set_enable_disable: function() {
+ $('.box').attr('disabled', this.disable ? true : false);
},
set_roles_in_table: function() {
var opts = this.get_roles();