From 102bc7f5cfad842ff3db396cf587bfaa3b51c756 Mon Sep 17 00:00:00 2001 From: Fisher Yu Date: Fri, 27 Jul 2018 23:39:44 +0800 Subject: [PATCH] Update sales_order.js for creating dropship purchase orders, allow the user to leave supplier field empty, it will auto create all dropship purchase orders for multi suppliers assigned to sales order items. --- .../selling/doctype/sales_order/sales_order.js | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/erpnext/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js index e8698f1eba..5275e2e296 100644 --- a/erpnext/selling/doctype/sales_order/sales_order.js +++ b/erpnext/selling/doctype/sales_order/sales_order.js @@ -416,19 +416,20 @@ erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend( title: __("For Supplier"), fields: [ {"fieldtype": "Link", "label": __("Supplier"), "fieldname": "supplier", "options":"Supplier", + "description": __("Leave the field empty to make purchase orders for all suppliers"), "get_query": function () { return { query:"erpnext.selling.doctype.sales_order.sales_order.get_supplier", filters: {'parent': me.frm.doc.name} } - }, "reqd": 1 }, + }}, + {"fieldtype": "Button", "label": __("Make Purchase Order"), "fieldname": "make_purchase_order", "cssClass": "btn-primary"}, ] }); dialog.fields_dict.make_purchase_order.$input.click(function() { var args = dialog.get_values(); - if(!args) return; dialog.hide(); return frappe.call({ type: "GET", @@ -440,8 +441,17 @@ erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend( freeze: true, callback: function(r) { if(!r.exc) { - var doc = frappe.model.sync(r.message); - frappe.set_route("Form", r.message.doctype, r.message.name); + // var args = dialog.get_values(); + if (args.supplier){ + var doc = frappe.model.sync(r.message); + frappe.set_route("Form", r.message.doctype, r.message.name); + } + else{ + frappe.route_options = { + "sales_order": me.frm.doc.name + } + frappe.set_route("List", "Purchase Order"); + } } } })