From 2e65aadb1e36c26765e41e8df05ae6261815530a Mon Sep 17 00:00:00 2001 From: Saurabh Date: Wed, 28 Oct 2015 11:40:14 +0530 Subject: [PATCH] [fixes] reload doc after status update and supplier address fetching --- erpnext/buying/doctype/purchase_order/purchase_order.js | 7 +++++-- erpnext/buying/doctype/purchase_order/purchase_order.py | 2 -- erpnext/public/js/utils/party.js | 2 +- erpnext/selling/doctype/sales_order/sales_order.js | 4 ++-- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.js b/erpnext/buying/doctype/purchase_order/purchase_order.js index b6a785c3488..146694e27d6 100644 --- a/erpnext/buying/doctype/purchase_order/purchase_order.js +++ b/erpnext/buying/doctype/purchase_order/purchase_order.js @@ -179,7 +179,9 @@ erpnext.buying.PurchaseOrderController = erpnext.buying.BuyingController.extend( purchase_order: cur_frm.doc.name }, callback:function(r){ - cur_frm.refresh(); + if(!r.exc) { + cur_frm.reload_doc(); + } } }) } @@ -198,7 +200,8 @@ cur_frm.cscript.update_status= function(label, status){ method: "erpnext.buying.doctype.purchase_order.purchase_order.update_status", args:{status: status, name: doc.name}, callback:function(r){ - cur_frm.refresh(); + cur_frm.set_value("status", status); + cur_frm.reload_doc(); } }) } diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py index 3fe833f36e0..26837f1a64e 100644 --- a/erpnext/buying/doctype/purchase_order/purchase_order.py +++ b/erpnext/buying/doctype/purchase_order/purchase_order.py @@ -344,14 +344,12 @@ def make_stock_entry(purchase_order, item_code): def update_status(status, name): po = frappe.get_doc("Purchase Order", name) po.update_status(status) - return @frappe.whitelist() def delivered_by_supplier(purchase_order): po = frappe.get_doc("Purchase Order", purchase_order) update_delivered_qty(po) po.update_status("Delivered") - return po.as_dict() def update_delivered_qty(purchase_order): sales_order_list = [] diff --git a/erpnext/public/js/utils/party.js b/erpnext/public/js/utils/party.js index 510938a9d1e..93301fcb0bd 100644 --- a/erpnext/public/js/utils/party.js +++ b/erpnext/public/js/utils/party.js @@ -53,7 +53,7 @@ erpnext.utils.get_address_display = function(frm, address_field, display_field) if(frm.updating_party_details) return; if(!address_field) { - if(frm.doc.customer) { + if(frm.doctype != "Purchase Order" && frm.doc.customer) { address_field = "customer_address"; } else if(frm.doc.supplier) { address_field = "supplier_address"; diff --git a/erpnext/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js index af300f662fc..9ad6d563015 100644 --- a/erpnext/selling/doctype/sales_order/sales_order.js +++ b/erpnext/selling/doctype/sales_order/sales_order.js @@ -37,7 +37,7 @@ erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend( // doc.per_billed); // indent - if(!doc.order_type || ["Sales", "Shopping Cart"].indexOf(doc.order_type)!==-1) + if(!doc.order_type || ["Sales", "Shopping Cart"].indexOf(doc.order_type)!==-1 && flt(doc.per_delivered, 2) < 100) cur_frm.add_custom_button(__('Material Request'), this.make_material_request); if(flt(doc.per_billed)==0) { @@ -241,7 +241,7 @@ cur_frm.cscript.update_status = function(label, status){ method: "erpnext.selling.doctype.sales_order.sales_order.update_status", args:{status: status, name: doc.name}, callback:function(r){ - cur_frm.refresh(); + cur_frm.reload_doc(); } }) }