From 14a1a18243c54108e5e29d1878b5bc7ea97387b6 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Fri, 12 Apr 2024 13:28:17 +0530 Subject: [PATCH] fix(ux): Sales Order Stock Reservation Dialog (backport #40707) (#40980) fix(ux): Sales Order Stock Reservation Dialog (cherry picked from commit 5daf19da409324e639a799e3bf961ca4f61091a5) Co-authored-by: s-aga-r --- .../doctype/sales_order/sales_order.js | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/erpnext/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js index 8d08a37aff2d..2ee7543b3c07 100644 --- a/erpnext/selling/doctype/sales_order/sales_order.js +++ b/erpnext/selling/doctype/sales_order/sales_order.js @@ -288,6 +288,7 @@ frappe.ui.form.on("Sales Order", { label: __("Items to Reserve"), allow_bulk_edit: false, cannot_add_rows: true, + cannot_delete_rows: true, data: [], fields: [ { @@ -356,7 +357,7 @@ frappe.ui.form.on("Sales Order", { ], primary_action_label: __("Reserve Stock"), primary_action: () => { - var data = { items: dialog.fields_dict.items.grid.data }; + var data = { items: dialog.fields_dict.items.grid.get_selected_children() }; if (data.items && data.items.length > 0) { frappe.call({ @@ -373,9 +374,11 @@ frappe.ui.form.on("Sales Order", { frm.reload_doc(); }, }); - } - dialog.hide(); + dialog.hide(); + } else { + frappe.msgprint(__("Please select items to reserve.")); + } }, }); @@ -390,6 +393,7 @@ frappe.ui.form.on("Sales Order", { if (unreserved_qty > 0) { dialog.fields_dict.items.df.data.push({ + __checked: 1, sales_order_item: item.name, item_code: item.item_code, warehouse: item.warehouse, @@ -414,6 +418,7 @@ frappe.ui.form.on("Sales Order", { label: __("Reserved Stock"), allow_bulk_edit: false, cannot_add_rows: true, + cannot_delete_rows: true, in_place_edit: true, data: [], fields: [ @@ -457,7 +462,7 @@ frappe.ui.form.on("Sales Order", { ], primary_action_label: __("Unreserve Stock"), primary_action: () => { - var data = { sr_entries: dialog.fields_dict.sr_entries.grid.data }; + var data = { sr_entries: dialog.fields_dict.sr_entries.grid.get_selected_children() }; if (data.sr_entries && data.sr_entries.length > 0) { frappe.call({ @@ -473,9 +478,11 @@ frappe.ui.form.on("Sales Order", { frm.reload_doc(); }, }); - } - dialog.hide(); + dialog.hide(); + } else { + frappe.msgprint(__("Please select items to unreserve.")); + } }, });