Merge pull request #48072 from iamkhanraheel/update-schedule-date
fix: update schedule date in items table in purchase order & disable selecting past date in schedule date
This commit is contained in:
@@ -59,6 +59,19 @@ frappe.ui.form.on("Purchase Order", {
|
||||
erpnext.accounts.dimensions.update_dimension(frm, frm.doctype);
|
||||
},
|
||||
|
||||
schedule_date(frm) {
|
||||
if (frm.doc.schedule_date) {
|
||||
frm.doc.items.forEach((d) => {
|
||||
frappe.model.set_value(d.doctype, d.name, "schedule_date", frm.doc.schedule_date);
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
transaction_date(frm) {
|
||||
prevent_past_schedule_dates(frm);
|
||||
frm.set_value("schedule_date", "");
|
||||
},
|
||||
|
||||
refresh: function (frm) {
|
||||
if (frm.doc.is_old_subcontracting_flow) {
|
||||
frm.trigger("get_materials_from_supplier");
|
||||
@@ -75,6 +88,7 @@ frappe.ui.form.on("Purchase Order", {
|
||||
if (frm.doc.docstatus == 0) {
|
||||
erpnext.set_unit_price_items_note(frm);
|
||||
}
|
||||
prevent_past_schedule_dates(frm);
|
||||
},
|
||||
|
||||
supplier: function (frm) {
|
||||
@@ -776,10 +790,6 @@ erpnext.buying.PurchaseOrderController = class PurchaseOrderController extends (
|
||||
items_on_form_rendered() {
|
||||
set_schedule_date(this.frm);
|
||||
}
|
||||
|
||||
schedule_date() {
|
||||
set_schedule_date(this.frm);
|
||||
}
|
||||
};
|
||||
|
||||
// for backward compatibility: combine new and previous states
|
||||
@@ -835,3 +845,11 @@ 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),
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -91,6 +91,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);
|
||||
},
|
||||
|
||||
transaction_date(frm) {
|
||||
prevent_past_schedule_dates(frm);
|
||||
frm.set_value("schedule_date", "");
|
||||
},
|
||||
|
||||
set_from_warehouse: function (frm) {
|
||||
@@ -602,10 +608,6 @@ erpnext.buying.MaterialRequestController = class MaterialRequestController exten
|
||||
set_schedule_date(this.frm);
|
||||
}
|
||||
|
||||
schedule_date() {
|
||||
set_schedule_date(this.frm);
|
||||
}
|
||||
|
||||
qty(doc, cdt, cdn) {
|
||||
var row = frappe.get_doc(cdt, cdn);
|
||||
row.amount = flt(row.qty) * flt(row.rate);
|
||||
@@ -628,3 +630,11 @@ 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),
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user