refactor: Simplify call log code
This commit is contained in:
parent
53e4fee4db
commit
e0bc437ddb
@ -24,12 +24,10 @@ class CallLog(Document):
|
||||
lead_number = self.get("from") if self.is_incoming_call() else self.get("to")
|
||||
lead_number = strip_number(lead_number)
|
||||
|
||||
contact = get_contact_with_phone_number(strip_number(lead_number))
|
||||
if contact:
|
||||
if contact := get_contact_with_phone_number(strip_number(lead_number)):
|
||||
self.add_link(link_type="Contact", link_name=contact)
|
||||
|
||||
lead = get_lead_with_phone_number(lead_number)
|
||||
if lead:
|
||||
if lead := get_lead_with_phone_number(lead_number):
|
||||
self.add_link(link_type="Lead", link_name=lead)
|
||||
|
||||
# Add Employee Name
|
||||
@ -70,28 +68,30 @@ class CallLog(Document):
|
||||
self.append("links", {"link_doctype": link_type, "link_name": link_name})
|
||||
|
||||
def trigger_call_popup(self):
|
||||
if self.is_incoming_call():
|
||||
scheduled_employees = get_scheduled_employees_for_popup(self.medium)
|
||||
employees = get_employees_with_number(self.to)
|
||||
employee_emails = [employee.get("user_id") for employee in employees]
|
||||
if not self.is_incoming_call():
|
||||
return
|
||||
|
||||
# check if employees with matched number are scheduled to receive popup
|
||||
emails = set(scheduled_employees).intersection(employee_emails)
|
||||
scheduled_employees = get_scheduled_employees_for_popup(self.medium)
|
||||
employees = get_employees_with_number(self.to)
|
||||
employee_emails = [employee.get("user_id") for employee in employees]
|
||||
|
||||
if frappe.conf.developer_mode:
|
||||
self.add_comment(
|
||||
text=f"""
|
||||
# check if employees with matched number are scheduled to receive popup
|
||||
emails = set(scheduled_employees).intersection(employee_emails)
|
||||
|
||||
if frappe.conf.developer_mode:
|
||||
self.add_comment(
|
||||
text=f"""
|
||||
Scheduled Employees: {scheduled_employees}
|
||||
Matching Employee: {employee_emails}
|
||||
Show Popup To: {emails}
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
if employee_emails and not emails:
|
||||
self.add_comment(text=_("No employee was scheduled for call popup"))
|
||||
if employee_emails and not emails:
|
||||
self.add_comment(text=_("No employee was scheduled for call popup"))
|
||||
|
||||
for email in emails:
|
||||
frappe.publish_realtime("show_call_popup", self, user=email)
|
||||
for email in emails:
|
||||
frappe.publish_realtime("show_call_popup", self, user=email)
|
||||
|
||||
def update_received_by(self):
|
||||
if employees := get_employees_with_number(self.get("to")):
|
||||
@ -154,8 +154,8 @@ def link_existing_conversations(doc, state):
|
||||
ELSE 0
|
||||
END
|
||||
)=0
|
||||
""",
|
||||
dict(phone_number="%{}".format(number), docname=doc.name, doctype=doc.doctype),
|
||||
""",
|
||||
dict(phone_number=f"%{number}", docname=doc.name, doctype=doc.doctype),
|
||||
)
|
||||
|
||||
for log in logs:
|
||||
@ -175,7 +175,7 @@ def get_linked_call_logs(doctype, docname):
|
||||
filters={"parenttype": "Call Log", "link_doctype": doctype, "link_name": docname},
|
||||
)
|
||||
|
||||
logs = set([log.parent for log in logs])
|
||||
logs = {log.parent for log in logs}
|
||||
|
||||
logs = frappe.get_all("Call Log", fields=["*"], filters={"name": ["in", logs]})
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user