diff --git a/frappe/core/doctype/user/user.json b/frappe/core/doctype/user/user.json index 654f20936e..0396776183 100644 --- a/frappe/core/doctype/user/user.json +++ b/frappe/core/doctype/user/user.json @@ -212,6 +212,7 @@ "read_only": 1 }, { + "allow_in_quick_entry": 1, "fieldname": "role_profile_name", "fieldtype": "Link", "label": "Role Profile", @@ -761,7 +762,7 @@ "link_fieldname": "user" } ], - "modified": "2023-05-24 15:20:06.434506", + "modified": "2023-06-05 17:26:04.127555", "modified_by": "Administrator", "module": "Core", "name": "User", diff --git a/frappe/core/doctype/user/user.py b/frappe/core/doctype/user/user.py index 94ea8b16a0..81d9715c32 100644 --- a/frappe/core/doctype/user/user.py +++ b/frappe/core/doctype/user/user.py @@ -75,6 +75,7 @@ class User(Document): self.validate_email_type(self.email) self.validate_email_type(self.name) self.add_system_manager_role() + self.check_roles_added() self.set_system_user() self.set_full_name() self.check_enable_disable() @@ -673,6 +674,21 @@ class User(Document): if not self.time_zone: self.time_zone = get_system_timezone() + def check_roles_added(self): + if self.user_type != "System User" or self.roles or not self.is_new(): + return + + frappe.msgprint( + _("Newly created user {0} has no roles enabled.").format(frappe.bold(self.name)), + title=_("No Roles Specified"), + indicator="orange", + primary_action={ + "label": _("Add Roles"), + "client_action": "frappe.set_route", + "args": ["Form", self.doctype, self.name], + }, + ) + @frappe.whitelist() def get_timezones():