fix: create crm user on accepting invite
(cherry picked from commit 03abe0b5cd24e3a9e7bcdfdb17f701b53026db4f) # Conflicts: # crm/api/__init__.py
This commit is contained in:
parent
f1935156ec
commit
eb7ded961a
@ -70,7 +70,7 @@ def check_app_permission():
|
|||||||
|
|
||||||
roles = frappe.get_roles()
|
roles = frappe.get_roles()
|
||||||
if any(
|
if any(
|
||||||
role in ["System Manager", "Sales User", "Sales Manager", "Sales Master Manager"] for role in roles
|
role in ["System Manager", "Sales User", "Sales Manager"] for role in roles
|
||||||
):
|
):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@ -98,7 +98,15 @@ def accept_invitation(key: str | None = None):
|
|||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def invite_by_email(emails: str, role: str):
|
def invite_by_email(emails: str, role: str):
|
||||||
|
<<<<<<< HEAD
|
||||||
frappe.only_for("Sales Manager")
|
frappe.only_for("Sales Manager")
|
||||||
|
=======
|
||||||
|
frappe.only_for(["Sales Manager", "System Manager"])
|
||||||
|
|
||||||
|
if role not in ["System Manager", "Sales Manager", "Sales User"]:
|
||||||
|
frappe.throw("Cannot invite for this role")
|
||||||
|
|
||||||
|
>>>>>>> 03abe0b5 (fix: create crm user on accepting invite)
|
||||||
if not emails:
|
if not emails:
|
||||||
return
|
return
|
||||||
email_string = validate_email_address(emails, throw=False)
|
email_string = validate_email_address(emails, throw=False)
|
||||||
@ -108,7 +116,10 @@ def invite_by_email(emails: str, role: str):
|
|||||||
existing_members = frappe.db.get_all("User", filters={"email": ["in", email_list]}, pluck="email")
|
existing_members = frappe.db.get_all("User", filters={"email": ["in", email_list]}, pluck="email")
|
||||||
existing_invites = frappe.db.get_all(
|
existing_invites = frappe.db.get_all(
|
||||||
"CRM Invitation",
|
"CRM Invitation",
|
||||||
filters={"email": ["in", email_list], "role": ["in", ["Sales Manager", "Sales User"]]},
|
filters={
|
||||||
|
"email": ["in", email_list],
|
||||||
|
"role": ["in", ["System Manager", "Sales Manager", "Sales User"]],
|
||||||
|
},
|
||||||
pluck="email",
|
pluck="email",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -27,7 +27,7 @@
|
|||||||
"fieldtype": "Select",
|
"fieldtype": "Select",
|
||||||
"in_list_view": 1,
|
"in_list_view": 1,
|
||||||
"label": "Role",
|
"label": "Role",
|
||||||
"options": "\nSales User\nSales Manager",
|
"options": "\nSales User\nSales Manager\nSystem Manager",
|
||||||
"reqd": 1
|
"reqd": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -66,7 +66,7 @@
|
|||||||
],
|
],
|
||||||
"index_web_pages_for_search": 1,
|
"index_web_pages_for_search": 1,
|
||||||
"links": [],
|
"links": [],
|
||||||
"modified": "2024-09-03 14:59:29.450018",
|
"modified": "2025-06-17 17:20:18.935395",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "FCRM",
|
"module": "FCRM",
|
||||||
"name": "CRM Invitation",
|
"name": "CRM Invitation",
|
||||||
@ -106,6 +106,7 @@
|
|||||||
"share": 1
|
"share": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"row_format": "Dynamic",
|
||||||
"sort_field": "creation",
|
"sort_field": "creation",
|
||||||
"sort_order": "DESC",
|
"sort_order": "DESC",
|
||||||
"states": []
|
"states": []
|
||||||
|
|||||||
@ -35,7 +35,7 @@ class CRMInvitation(Document):
|
|||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def accept_invitation(self):
|
def accept_invitation(self):
|
||||||
frappe.only_for("System Manager")
|
frappe.only_for(["System Manager", "Sales Manager"])
|
||||||
self.accept()
|
self.accept()
|
||||||
|
|
||||||
def accept(self):
|
def accept(self):
|
||||||
@ -52,6 +52,14 @@ class CRMInvitation(Document):
|
|||||||
self.accepted_at = frappe.utils.now()
|
self.accepted_at = frappe.utils.now()
|
||||||
self.save(ignore_permissions=True)
|
self.save(ignore_permissions=True)
|
||||||
|
|
||||||
|
# create CRM User record
|
||||||
|
if not frappe.db.exists("CRM User", {"user": user.name}):
|
||||||
|
crm_user = frappe.get_doc(
|
||||||
|
doctype="CRM User",
|
||||||
|
user=user.name,
|
||||||
|
)
|
||||||
|
crm_user.insert(ignore_permissions=True)
|
||||||
|
|
||||||
def update_module_in_user(self, user, module):
|
def update_module_in_user(self, user, module):
|
||||||
block_modules = frappe.get_all(
|
block_modules = frappe.get_all(
|
||||||
"Module Def",
|
"Module Def",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user