Merge pull request #40778 from blaggacao/chore/into-child-mapper
chore(stock): use the into child mapper mapper frappe/frappe#22592
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py
index 7144908..9561e47 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.py
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.py
@@ -1060,32 +1060,26 @@
@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