diff --git a/crm/api/session.py b/crm/api/session.py index 54feea60..278f8b5e 100644 --- a/crm/api/session.py +++ b/crm/api/session.py @@ -23,13 +23,16 @@ def get_users(): if frappe.session.user == user.name: user.session_user = True - user.is_manager = "Sales Manager" in frappe.get_roles(user.name) or user.name == "Administrator" + user.is_manager = "Sales Manager" in frappe.get_roles(user.name) + user.is_admin = user.name == "Administrator" user.roles = frappe.get_roles(user.name) user.role = "" - if "Sales Manager" in user.roles: + if "System Manager" in user.roles: + user.role = "System Manager" + elif "Sales Manager" in user.roles: user.role = "Sales Manager" elif "Sales User" in user.roles: user.role = "Sales User" diff --git a/crm/fcrm/doctype/crm_agent/crm_agent.py b/crm/fcrm/doctype/crm_agent/crm_agent.py index 34c524b6..21ddb800 100644 --- a/crm/fcrm/doctype/crm_agent/crm_agent.py +++ b/crm/fcrm/doctype/crm_agent/crm_agent.py @@ -29,19 +29,21 @@ def update_agent_role(user, new_role): :param new_role: The new role to assign (Sales Manager or Sales User) """ - frappe.only_for("Sales Manager") + frappe.only_for(["System Manager", "System Manager"]) - if new_role not in ["Sales Manager", "Sales User"]: + if new_role not in ["System Manager", "Sales Manager", "Sales User"]: frappe.throw("Cannot assign this role") user_doc = frappe.get_doc("User", user) + if new_role == "System Manager": + user_doc.append_roles("System Manager") if new_role == "Sales Manager": - user_doc.append_roles("Sales Manager", "System Manager") + user_doc.append_roles("Sales Manager") + user_doc.remove_roles("System Manager") if new_role == "Sales User": user_doc.append_roles("Sales User") - if "Sales Manager" in frappe.get_roles(user_doc.name): - user_doc.remove_roles("Sales Manager", "System Manager") + user_doc.remove_roles("Sales Manager", "System Manager") user_doc.save() diff --git a/frappe-ui b/frappe-ui index 8b615c0e..883bb643 160000 --- a/frappe-ui +++ b/frappe-ui @@ -1 +1 @@ -Subproject commit 8b615c0e899d75b99c7d36ec6df97b5d0386b2ca +Subproject commit 883bb643d1e662d6467925927e347dd28376960f diff --git a/frontend/src/components/Settings/Agents.vue b/frontend/src/components/Settings/Agents.vue index 0b7824ef..df77688f 100644 --- a/frontend/src/components/Settings/Agents.vue +++ b/frontend/src/components/Settings/Agents.vue @@ -5,7 +5,7 @@

{{ __('Users') }}

-
+
+ + +
@@ -43,7 +60,7 @@ class="divide-y overflow-auto" >
  • @@ -65,12 +82,11 @@ -
    +
    @@ -79,16 +95,17 @@ :button="{ label: roleMap[getUserRole(agent.name)], iconRight: 'chevron-down', - variant: 'ghost', }" placement="right" />
  • -
    +