fix: if role is set to sales user then remove modules and set FCRM
(cherry picked from commit bd7451e86f1b41483ffc92c51ab51457c4d31490)
This commit is contained in:
parent
aa60a03484
commit
bae37529e5
@ -31,14 +31,16 @@ def update_user_role(user, new_role):
|
|||||||
|
|
||||||
if new_role == "System Manager":
|
if new_role == "System Manager":
|
||||||
user_doc.append_roles("System Manager", "Sales Manager", "Sales User")
|
user_doc.append_roles("System Manager", "Sales Manager", "Sales User")
|
||||||
|
user_doc.set("block_modules", [])
|
||||||
if new_role == "Sales Manager":
|
if new_role == "Sales Manager":
|
||||||
user_doc.append_roles("Sales Manager", "Sales User")
|
user_doc.append_roles("Sales Manager", "Sales User")
|
||||||
user_doc.remove_roles("System Manager")
|
user_doc.remove_roles("System Manager")
|
||||||
if new_role == "Sales User":
|
if new_role == "Sales User":
|
||||||
user_doc.append_roles("Sales User")
|
user_doc.append_roles("Sales User")
|
||||||
user_doc.remove_roles("Sales Manager", "System Manager")
|
user_doc.remove_roles("Sales Manager", "System Manager")
|
||||||
|
update_module_in_user(user_doc, "FCRM")
|
||||||
|
|
||||||
user_doc.save()
|
user_doc.save(ignore_permissions=True)
|
||||||
|
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
@ -61,8 +63,9 @@ def add_user(user, role):
|
|||||||
user_doc.append_roles("Sales Manager", "Sales User")
|
user_doc.append_roles("Sales Manager", "Sales User")
|
||||||
elif role == "Sales User":
|
elif role == "Sales User":
|
||||||
user_doc.append_roles("Sales User")
|
user_doc.append_roles("Sales User")
|
||||||
|
update_module_in_user(user_doc, "FCRM")
|
||||||
|
|
||||||
user_doc.save()
|
user_doc.save(ignore_permissions=True)
|
||||||
|
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
@ -81,5 +84,16 @@ def remove_user(user):
|
|||||||
if "Sales Manager" in roles:
|
if "Sales Manager" in roles:
|
||||||
user_doc.remove_roles("Sales Manager")
|
user_doc.remove_roles("Sales Manager")
|
||||||
|
|
||||||
user_doc.save()
|
user_doc.save(ignore_permissions=True)
|
||||||
frappe.msgprint(f"User {user} has been removed from CRM roles.")
|
frappe.msgprint(f"User {user} has been removed from CRM roles.")
|
||||||
|
|
||||||
|
|
||||||
|
def update_module_in_user(user, module):
|
||||||
|
block_modules = frappe.get_all(
|
||||||
|
"Module Def",
|
||||||
|
fields=["name as module"],
|
||||||
|
filters={"name": ["!=", module]},
|
||||||
|
)
|
||||||
|
|
||||||
|
if block_modules:
|
||||||
|
user.set("block_modules", block_modules)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user