63 lines
1.9 KiB
Python
63 lines
1.9 KiB
Python
import frappe
|
|
|
|
|
|
def update_lead_phone_numbers(contact, method):
|
|
if contact.phone_nos:
|
|
contact_lead = contact.get_link_for("Lead")
|
|
if contact_lead:
|
|
phone = mobile_no = contact.phone_nos[0].phone
|
|
|
|
if len(contact.phone_nos) > 1:
|
|
# get the default phone number
|
|
primary_phones = [
|
|
phone_doc.phone for phone_doc in contact.phone_nos if phone_doc.is_primary_phone
|
|
]
|
|
if primary_phones:
|
|
phone = primary_phones[0]
|
|
|
|
# get the default mobile number
|
|
primary_mobile_nos = [
|
|
phone_doc.phone for phone_doc in contact.phone_nos if phone_doc.is_primary_mobile_no
|
|
]
|
|
if primary_mobile_nos:
|
|
mobile_no = primary_mobile_nos[0]
|
|
|
|
lead = frappe.get_doc("Lead", contact_lead)
|
|
lead.db_set("phone", phone)
|
|
lead.db_set("mobile_no", mobile_no)
|
|
|
|
|
|
def copy_comments(doctype, docname, doc):
|
|
comments = frappe.db.get_values(
|
|
"Comment",
|
|
filters={"reference_doctype": doctype, "reference_name": docname, "comment_type": "Comment"},
|
|
fieldname="*",
|
|
)
|
|
for comment in comments:
|
|
comment = frappe.get_doc(comment.update({"doctype": "Comment"}))
|
|
comment.name = None
|
|
comment.reference_doctype = doc.doctype
|
|
comment.reference_name = doc.name
|
|
comment.insert()
|
|
|
|
|
|
def add_link_in_communication(doctype, docname, doc):
|
|
communication_list = get_linked_communication_list(doctype, docname)
|
|
|
|
for communication in communication_list:
|
|
communication_doc = frappe.get_doc("Communication", communication)
|
|
communication_doc.add_link(doc.doctype, doc.name, autosave=True)
|
|
|
|
|
|
def get_linked_communication_list(doctype, docname):
|
|
communications = frappe.get_all(
|
|
"Communication", filters={"reference_doctype": doctype, "reference_name": docname}, pluck="name"
|
|
)
|
|
communication_links = frappe.get_all(
|
|
"Communication Link",
|
|
{"link_doctype": doctype, "link_name": docname, "parent": ("not in", communications)},
|
|
pluck="parent",
|
|
)
|
|
|
|
return communications + communication_links
|