def get_dynamic_recipients(self, doc): recipients_no_list = [] if self.dynamic_recipients: fields = get_doc_fields(self.document_type) for d in fields: if doc.get(d["fieldname"]): default_contact = get_default_contact( d["field_options"], doc.get(d["fieldname"])) contact_details = get_contact_details(default_contact) if contact_details.get("contact_mobile"): recipients_no_list.append( contact_details.get("contact_mobile")) return recipients_no_list
def set_contact_details(out, party, party_type): out.contact_person = get_default_contact(party_type, party.name) if not out.contact_person: out.update({ "contact_person": None, "contact_display": None, "contact_email": None, "contact_mobile": None, "contact_phone": None, "contact_designation": None, "contact_department": None }) else: out.update(get_contact_details(out.contact_person))
def set_contact_details(out, party, party_type): out.contact_person = get_default_contact(party_type, party.name) if not out.contact_person: out.update({ "contact_person": None, "contact_display": None, "contact_email": None, "contact_mobile": None, "contact_phone": None, "contact_designation": None, "contact_department": None }) else: out.update(get_contact_details(out.contact_person))
def get_contact_display(row, filters): party_type = filters.doctype or row["Ref DocType"] party = row["Ref DocName"] if party_type in ["Lead", "Customer"]: contact_person = get_default_contact(party_type, party) if not contact_person: return None else: return get_contact_details(contact_person)["contact_display"] else: contact_display = frappe.db.get_value(party_type, party, "contact_display") or None return contact_display
def update_delivery_note_fields(self, row): selected_delivery_note = frappe._dict(row) delivery_note_doc = frappe.get_doc( "Delivery Note", selected_delivery_note.delivery_note) delivery_notes = self.get("delivery_notes") for dn in delivery_notes: if delivery_note_doc.name == dn.delivery_note: dn.customer = delivery_note_doc.customer if delivery_note_doc.shipping_address: dn.address = delivery_note_doc.shipping_address_name dn.customer_address = delivery_note_doc.shipping_address dn.date = delivery_note_doc.posting_date dn.status = delivery_note_doc.status contact_person = get_default_contact( "Customer", delivery_note_doc.customer) if contact_person: contact = get_contact_details(contact_person) dn.mobile = contact["contact_mobile"]
def get_dynamic_recipients(self, doc): recipients_no_list = [] field_names = ["Customer", "Supplier", "Student", "Employee"] if self.dynamic_recipients: fields = get_doc_fields(self.document_type) for d in fields: if doc.get(d["fieldname"]): party = d.get("field_options") if not party: if (d.get("field_get_value") and doc.get( d["field_get_value"]) in field_names): party = doc.get(d["field_get_value"]) else: break default_contact = get_default_contact( party, doc.get(d["fieldname"])) contact_details = get_contact_details(default_contact) if contact_details.get("contact_mobile"): recipients_no_list.append( contact_details.get("contact_mobile")) return recipients_no_list