From 77cf0afa1a447aa2e33b03155adfd24fa527d60d Mon Sep 17 00:00:00 2001 From: Pandiyan P Date: Thu, 12 Mar 2026 09:57:38 +0530 Subject: [PATCH] fix: update child item schedule_date and prevent past dates (#53298) --- .../buying/doctype/purchase_order/purchase_order.js | 12 ++---------- erpnext/public/js/controllers/buying.js | 7 +++++++ .../doctype/material_request/material_request.js | 12 ++---------- 3 files changed, 11 insertions(+), 20 deletions(-) diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.js b/erpnext/buying/doctype/purchase_order/purchase_order.js index 87435f19393..bda926b4040 100644 --- a/erpnext/buying/doctype/purchase_order/purchase_order.js +++ b/erpnext/buying/doctype/purchase_order/purchase_order.js @@ -67,7 +67,7 @@ frappe.ui.form.on("Purchase Order", { }, transaction_date(frm) { - prevent_past_schedule_dates(frm); + erpnext.buying.prevent_past_schedule_dates(frm); frm.set_value("schedule_date", ""); }, @@ -87,7 +87,7 @@ frappe.ui.form.on("Purchase Order", { if (frm.doc.docstatus == 0) { erpnext.set_unit_price_items_note(frm); } - prevent_past_schedule_dates(frm); + erpnext.buying.prevent_past_schedule_dates(frm); }, get_materials_from_supplier: function (frm) { @@ -779,11 +779,3 @@ frappe.ui.form.on("Purchase Order", "is_subcontracted", function (frm) { erpnext.buying.get_default_bom(frm); } }); - -function prevent_past_schedule_dates(frm) { - if (frm.doc.transaction_date) { - frm.fields_dict["schedule_date"].datepicker?.update({ - minDate: new Date(frm.doc.transaction_date), - }); - } -} diff --git a/erpnext/public/js/controllers/buying.js b/erpnext/public/js/controllers/buying.js index 873edfb7165..5c3581ac2e4 100644 --- a/erpnext/public/js/controllers/buying.js +++ b/erpnext/public/js/controllers/buying.js @@ -682,3 +682,10 @@ erpnext.buying.get_items_from_product_bundle = function (frm) { dialog.show(); }; +erpnext.buying.prevent_past_schedule_dates = function (frm) { + if (frm.doc.transaction_date) { + frm.fields_dict["schedule_date"].datepicker?.update({ + minDate: new Date(frm.doc.transaction_date), + }); + } +}; diff --git a/erpnext/stock/doctype/material_request/material_request.js b/erpnext/stock/doctype/material_request/material_request.js index b730080ea35..625d6490a9d 100644 --- a/erpnext/stock/doctype/material_request/material_request.js +++ b/erpnext/stock/doctype/material_request/material_request.js @@ -116,12 +116,12 @@ frappe.ui.form.on("Material Request", { refresh: function (frm) { frm.events.make_custom_buttons(frm); frm.toggle_reqd("customer", frm.doc.material_request_type == "Customer Provided"); - prevent_past_schedule_dates(frm); + erpnext.buying.prevent_past_schedule_dates(frm); frm.trigger("set_warehouse_label"); }, transaction_date(frm) { - prevent_past_schedule_dates(frm); + erpnext.buying.prevent_past_schedule_dates(frm); frm.set_value("schedule_date", ""); }, @@ -681,11 +681,3 @@ function set_schedule_date(frm) { ); } } - -function prevent_past_schedule_dates(frm) { - if (frm.doc.transaction_date) { - frm.fields_dict["schedule_date"].datepicker.update({ - minDate: new Date(frm.doc.transaction_date), - }); - } -}