Feat/shipment default contact (#53029)

This commit is contained in:
David
2026-03-12 02:10:39 -03:00
committed by GitHub
parent a8dcf70459
commit a3a57e20f1

View File

@@ -7,6 +7,7 @@ import json
import frappe
from frappe import _
from frappe.contacts.doctype.address.address import get_company_address
from frappe.contacts.doctype.contact.contact import get_default_contact
from frappe.desk.notifications import clear_doctype_notifications
from frappe.model.document import Document
from frappe.model.mapper import get_mapped_doc
@@ -1113,18 +1114,24 @@ def make_shipment(source_name: str, target_doc: str | Document | None = None):
# As we are using session user details in the pickup_contact then pickup_contact_person will be session user
target.pickup_contact_person = frappe.session.user
if source.contact_person:
contact_person = source.contact_person or get_default_contact("Customer", source.customer)
if contact_person:
contact = frappe.db.get_value(
"Contact", source.contact_person, ["email_id", "phone", "mobile_no"], as_dict=1
"Contact", contact_person, ["email_id", "phone", "mobile_no"], as_dict=1
)
delivery_contact_display = f"{source.contact_display}"
if contact:
delivery_contact_display = source.contact_display or contact_person or ""
if contact and not source.contact_display:
if contact.email_id:
delivery_contact_display += "<br>" + contact.email_id
if contact.phone:
delivery_contact_display += "<br>" + contact.phone
if contact.mobile_no and not contact.phone:
delivery_contact_display += "<br>" + contact.mobile_no
target.delivery_contact_name = contact_person
if contact and contact.email_id and not target.delivery_contact_email:
target.delivery_contact_email = contact.email_id
target.delivery_contact = delivery_contact_display
if source.shipping_address_name: