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
Exemplo n.º 2
0
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))
Exemplo n.º 3
0
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))
Exemplo n.º 4
0
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"]
Exemplo n.º 6
0
    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