chore(stock): use the into child mapper mapper frappe/frappe#22592

This commit is contained in:
David Arnold
2023-09-29 18:49:55 +02:00
committed by David
parent 8e522183bc
commit 28c75b8f4d

View File

@@ -1060,32 +1060,26 @@ def make_sales_invoice(source_name, target_doc=None):
@frappe.whitelist()
def make_delivery_trip(source_name, target_doc=None):
def update_stop_details(source_doc, target_doc, source_parent):
target_doc.customer = source_parent.customer
target_doc.address = source_parent.shipping_address_name
target_doc.customer_address = source_parent.shipping_address
target_doc.contact = source_parent.contact_person
target_doc.customer_contact = source_parent.contact_display
target_doc.grand_total = source_parent.grand_total
# Append unique Delivery Notes in Delivery Trip
delivery_notes.append(target_doc.delivery_note)
delivery_notes = []
if not target_doc:
target_doc = frappe.new_doc("Delivery Trip")
doclist = get_mapped_doc(
"Delivery Note",
source_name,
{
"Delivery Note": {"doctype": "Delivery Trip", "validation": {"docstatus": ["=", 1]}},
"Delivery Note Item": {
"Delivery Note": {
"doctype": "Delivery Stop",
"field_map": {"parent": "delivery_note"},
"condition": lambda item: item.parent not in delivery_notes,
"postprocess": update_stop_details,
"validation": {"docstatus": ["=", 1]},
"on_parent": target_doc,
"field_map": {
"name": "delivery_note",
"shipping_address_name": "address",
"shipping_address": "customer_address",
"contact_person": "contact",
"contact_display": "customer_contact",
},
},
},
target_doc,
ignore_child_tables=True,
)
return doclist