From 4382da588936417e2f094111e95340f78213365c Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Wed, 17 Jan 2024 20:21:19 +0530 Subject: [PATCH] fix: load assigned users from todo --- crm/api/doc.py | 14 ++++++++++++++ crm/fcrm/doctype/crm_deal/api.py | 5 +++-- crm/fcrm/doctype/crm_lead/api.py | 3 ++- frontend/src/utils/index.js | 2 +- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/crm/api/doc.py b/crm/api/doc.py index a62c6881..461cac1d 100644 --- a/crm/api/doc.py +++ b/crm/api/doc.py @@ -257,3 +257,17 @@ def get_type(field): elif field.read_only: return "read_only" return field.fieldtype.lower() + +def get_assigned_users(doctype, name): + assigned_users = frappe.get_all( + "ToDo", + fields=["allocated_to"], + filters={ + "reference_type": doctype, + "reference_name": name, + "status": ("!=", "Cancelled"), + }, + pluck="allocated_to", + ) + + return list(set(assigned_users)) diff --git a/crm/fcrm/doctype/crm_deal/api.py b/crm/fcrm/doctype/crm_deal/api.py index 2ab69e14..ffc5c861 100644 --- a/crm/fcrm/doctype/crm_deal/api.py +++ b/crm/fcrm/doctype/crm_deal/api.py @@ -1,7 +1,7 @@ import frappe from frappe import _ -from crm.api.doc import get_doctype_fields +from crm.api.doc import get_doctype_fields, get_assigned_users from crm.fcrm.doctype.crm_form_script.crm_form_script import get_form_script @frappe.whitelist() @@ -29,5 +29,6 @@ def get_deal(name): deal["doctype_fields"], deal["all_fields"] = get_doctype_fields("CRM Deal") deal["doctype"] = "CRM Deal" - deal["_form_script"] = get_form_script('CRM Deal') + deal["_form_script"] = get_form_script('CRM Deal') + deal["_assign"] = get_assigned_users("CRM Deal", deal.name) return deal diff --git a/crm/fcrm/doctype/crm_lead/api.py b/crm/fcrm/doctype/crm_lead/api.py index 87b64a83..c5e91573 100644 --- a/crm/fcrm/doctype/crm_lead/api.py +++ b/crm/fcrm/doctype/crm_lead/api.py @@ -1,7 +1,7 @@ import frappe from frappe import _ -from crm.api.doc import get_doctype_fields +from crm.api.doc import get_doctype_fields, get_assigned_users from crm.fcrm.doctype.crm_form_script.crm_form_script import get_form_script @frappe.whitelist() @@ -18,4 +18,5 @@ def get_lead(name): lead["doctype_fields"], lead["all_fields"] = get_doctype_fields("CRM Lead") lead["doctype"] = "CRM Lead" lead["_form_script"] = get_form_script('CRM Lead') + lead["_assign"] = get_assigned_users("CRM Lead", lead.name) return lead diff --git a/frontend/src/utils/index.js b/frontend/src/utils/index.js index 0e0d0d70..3477004b 100644 --- a/frontend/src/utils/index.js +++ b/frontend/src/utils/index.js @@ -116,7 +116,7 @@ export function validateEmail(email) { export function setupAssignees(data) { let { getUser } = usersStore() - let assignees = JSON.parse(data._assign) || [] + let assignees = data._assign || [] data._assignedTo = assignees.map((user) => ({ name: user, image: getUser(user).user_image,