fix : Create Pick List Fos Sales Order List (#20915)
Co-authored-by: Dharmraj <Dharmraj@bloomstack.com>
Co-authored-by: Nabin Hait <nabinhait@gmail.com>
diff --git a/erpnext/selling/doctype/sales_order/sales_order_list.js b/erpnext/selling/doctype/sales_order/sales_order_list.js
index 26d96d5..288d884 100644
--- a/erpnext/selling/doctype/sales_order/sales_order_list.js
+++ b/erpnext/selling/doctype/sales_order/sales_order_list.js
@@ -47,6 +47,41 @@
listview.page.add_menu_item(__("Re-open"), function() {
listview.call_for_selected_items(method, {"status": "Submitted"});
});
+ },
+ onload: function(doclist) {
+ const action = () => {
+ const selected_docs = doclist.get_checked_items();
+ const docnames = doclist.get_checked_items(true);
+
+ if (selected_docs.length > 0) {
+ for (let doc of selected_docs) {
+ if (!doc.docstatus) {
+ frappe.throw(__("Cannot create a Pick List from Draft documents."));
+ }
+ };
+
+ frappe.new_doc("Pick List")
+ .then(() => {
+ frappe.call({
+ type: "POST",
+ method: "frappe.model.mapper.map_docs",
+ args: {
+ "method": "erpnext.selling.doctype.sales_order.sales_order.create_pick_list",
+ "source_names": docnames,
+ "target_doc": cur_frm.doc
+ },
+ callback: function (r) {
+ if (!r.exc) {
+ frappe.model.sync(r.message);
+ cur_frm.dirty();
+ cur_frm.refresh();
+ }
+ }
+ });
+ })
+ };
+ };
+ doclist.page.add_actions_menu_item(__('Create Pick List'), action, false);
}
};