fix: added ref doc instead of lead in call log

This commit is contained in:
Shariq Ansari 2023-11-07 13:53:13 +05:30
parent ce4a45ccd5
commit b6060fa1e5
3 changed files with 34 additions and 18 deletions

View File

@ -14,7 +14,8 @@
"duration", "duration",
"medium", "medium",
"start_time", "start_time",
"lead", "reference_doctype",
"reference_docname",
"column_break_ufnp", "column_break_ufnp",
"to", "to",
"type", "type",
@ -89,12 +90,6 @@
"fieldtype": "Datetime", "fieldtype": "Datetime",
"label": "End Time" "label": "End Time"
}, },
{
"fieldname": "lead",
"fieldtype": "Link",
"label": "Lead/Deal",
"options": "CRM Lead"
},
{ {
"fieldname": "note", "fieldname": "note",
"fieldtype": "Link", "fieldtype": "Link",
@ -114,11 +109,24 @@
"fieldtype": "Link", "fieldtype": "Link",
"label": "Caller", "label": "Caller",
"options": "User" "options": "User"
},
{
"default": "CRM Lead",
"fieldname": "reference_doctype",
"fieldtype": "Link",
"label": "Reference Document Type",
"options": "DocType"
},
{
"fieldname": "reference_docname",
"fieldtype": "Dynamic Link",
"label": "Reference Name",
"options": "reference_doctype"
} }
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,
"links": [], "links": [],
"modified": "2023-08-30 15:39:46.613734", "modified": "2023-11-07 13:52:40.504747",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "FCRM", "module": "FCRM",
"name": "CRM Call Log", "name": "CRM Call Log",

View File

@ -86,9 +86,10 @@ def update_call_log(call_sid, status=None):
call_log.duration = call_details.duration call_log.duration = call_details.duration
call_log.start_time = get_datetime_from_timestamp(call_details.start_time) call_log.start_time = get_datetime_from_timestamp(call_details.start_time)
call_log.end_time = get_datetime_from_timestamp(call_details.end_time) call_log.end_time = get_datetime_from_timestamp(call_details.end_time)
call_log.lead = get_lead_from_number(call_log) call_log.reference_docname, call_log.reference_doctype = get_lead_or_deal_from_number(call_log)
if call_log.note and call_log.lead: if call_log.note and call_log.reference_docname:
frappe.db.set_value("CRM Note", call_log.note, "lead", call_log.lead) frappe.db.set_value("CRM Note", call_log.note, "reference_doctype", call_log.reference_doctype)
frappe.db.set_value("CRM Note", call_log.note, "reference_docname", call_log.reference_docname)
call_log.flags.ignore_permissions = True call_log.flags.ignore_permissions = True
call_log.save() call_log.save()
frappe.db.commit() frappe.db.commit()
@ -145,13 +146,20 @@ def add_note_to_call_log(call_sid, note):
frappe.db.set_value("CRM Call Log", call_details.parent_call_sid, "note", note) frappe.db.set_value("CRM Call Log", call_details.parent_call_sid, "note", note)
frappe.db.commit() frappe.db.commit()
def get_lead_from_number(call): def get_lead_or_deal_from_number(call):
"""Get lead from the given number. """Get lead/deal from the given number.
""" """
lead = None doctype = "CRM Lead"
doc = None
if call.type == 'Outgoing': if call.type == 'Outgoing':
lead = frappe.db.get_value("CRM Lead", { "mobile_no": call.get('to') }) doc = frappe.get_cached_value(doctype, { "mobile_no": call.get('to') })
if not doc:
doctype = "CRM Deal"
doc = frappe.get_cached_value(doctype, { "mobile_no": call.get('to') })
else: else:
lead = frappe.db.get_value("CRM Lead", { "mobile_no": call.get('from') }) doc = frappe.get_cached_value(doctype, { "mobile_no": call.get('from') })
if not doc:
doctype = "CRM Deal"
doc = frappe.get_cached_value(doctype, { "mobile_no": call.get('from') })
return lead return doc, doctype

View File

@ -691,7 +691,7 @@ const calls = createListResource({
'creation', 'creation',
'note', 'note',
], ],
filters: { lead: doc.value.data.name }, filters: { reference_docname: doc.value.data.name },
orderBy: 'creation desc', orderBy: 'creation desc',
pageLength: 999, pageLength: 999,
auto: true, auto: true,