From 27c6f694359bf211bd2e457af6b2ef59d48ff5a9 Mon Sep 17 00:00:00 2001 From: Dharmraj-48 <60173537+Dharmraj-48@users.noreply.github.com> Date: Tue, 21 Apr 2020 13:10:09 +0530 Subject: [PATCH] fix : Create Pick List Fos Sales Order List (#20915) Co-authored-by: Dharmraj Co-authored-by: Nabin Hait --- .../doctype/sales_order/sales_order_list.js | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/erpnext/selling/doctype/sales_order/sales_order_list.js b/erpnext/selling/doctype/sales_order/sales_order_list.js index 26d96d59f2..288d8847ce 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 @@ frappe.listview_settings['Sales Order'] = { 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); } };