From e1f0be6da526630151e31a1d573f4133fd81e8d1 Mon Sep 17 00:00:00 2001 From: KanchanChauhan Date: Wed, 1 Aug 2018 18:11:58 +0530 Subject: [PATCH] Delivery Date Change based on Delivery Date change in child table (#15068) --- erpnext/selling/doctype/sales_order/sales_order.json | 4 ++-- erpnext/selling/doctype/sales_order/sales_order.py | 11 +++++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/erpnext/selling/doctype/sales_order/sales_order.json b/erpnext/selling/doctype/sales_order/sales_order.json index 412496737b..64f6d8bed5 100644 --- a/erpnext/selling/doctype/sales_order/sales_order.json +++ b/erpnext/selling/doctype/sales_order/sales_order.json @@ -388,7 +388,7 @@ { "allow_bulk_edit": 0, "allow_in_quick_entry": 0, - "allow_on_submit": 0, + "allow_on_submit": 1, "bold": 0, "collapsible": 0, "columns": 0, @@ -3917,7 +3917,7 @@ "issingle": 0, "istable": 0, "max_attachments": 0, - "modified": "2018-07-30 08:36:11.652659", + "modified": "2018-08-01 08:36:11.652659", "modified_by": "Administrator", "module": "Selling", "name": "Sales Order", diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py index b34089d1c1..b860f7dedc 100755 --- a/erpnext/selling/doctype/sales_order/sales_order.py +++ b/erpnext/selling/doctype/sales_order/sales_order.py @@ -106,17 +106,19 @@ class SalesOrder(SellingController): def validate_delivery_date(self): if self.order_type == 'Sales': + delivery_date_list = [d.delivery_date for d in self.get("items") if d.delivery_date] + max_delivery_date = max(delivery_date_list) if delivery_date_list else None if not self.delivery_date: - delivery_date_list = [d.delivery_date for d in self.get("items") if d.delivery_date] - self.delivery_date = max(delivery_date_list) if delivery_date_list else None + self.delivery_date = max_delivery_date if self.delivery_date: for d in self.get("items"): if not d.delivery_date: d.delivery_date = self.delivery_date - if getdate(self.transaction_date) > getdate(d.delivery_date): frappe.msgprint(_("Expected Delivery Date should be after Sales Order Date"), - indicator='orange', title=_('Warning')) + indicator='orange', title=_('Warning')) + if getdate(self.delivery_date) != getdate(max_delivery_date): + self.delivery_date = max_delivery_date else: frappe.throw(_("Please enter Delivery Date")) @@ -303,6 +305,7 @@ class SalesOrder(SellingController): self.validate_po() self.validate_drop_ship() self.validate_supplier_after_submit() + self.validate_delivery_date() def validate_supplier_after_submit(self): """Check that supplier is the same after submit if PO is already made"""