diff --git a/crm/api/session.py b/crm/api/session.py index 7650d3c1..b9435b16 100644 --- a/crm/api/session.py +++ b/crm/api/session.py @@ -16,6 +16,10 @@ def get_users(): for user in 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" + ) return users @frappe.whitelist() diff --git a/crm/fcrm/doctype/crm_view_settings/crm_view_settings.py b/crm/fcrm/doctype/crm_view_settings/crm_view_settings.py index 5eba8b6e..19e0ab04 100644 --- a/crm/fcrm/doctype/crm_view_settings/crm_view_settings.py +++ b/crm/fcrm/doctype/crm_view_settings/crm_view_settings.py @@ -63,6 +63,16 @@ def delete(name): if frappe.db.exists("CRM View Settings", name): frappe.delete_doc("CRM View Settings", name) +@frappe.whitelist() +def public(name, value): + if "Sales Manager" not in frappe.get_roles() or frappe.session.user != "Administrator": + frappe.throw("Not permitted", frappe.PermissionError) + + doc = frappe.get_doc("CRM View Settings", name) + doc.public = value + doc.user = "" if value else frappe.session.user + doc.save() + @frappe.whitelist() def pin(name, value): doc = frappe.get_doc("CRM View Settings", name) diff --git a/frontend/src/components/ViewControls.vue b/frontend/src/components/ViewControls.vue index 3df9d573..5083aaf0 100644 --- a/frontend/src/components/ViewControls.vue +++ b/frontend/src/components/ViewControls.vue @@ -18,7 +18,10 @@