From 2291323c65bc20287851c8677fcf1866a998e005 Mon Sep 17 00:00:00 2001 From: Shreya Shah Date: Thu, 11 Oct 2018 10:13:27 +0530 Subject: [PATCH] fix(shipping-address-display): Fetch shipping address display as per the shipping address (#15643) --- erpnext/accounts/party.py | 7 ++++--- erpnext/controllers/buying_controller.py | 2 +- erpnext/controllers/selling_controller.py | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/erpnext/accounts/party.py b/erpnext/accounts/party.py index f6c7c5a280..f19aaf833b 100644 --- a/erpnext/accounts/party.py +++ b/erpnext/accounts/party.py @@ -22,14 +22,14 @@ class DuplicatePartyAccountError(frappe.ValidationError): pass @frappe.whitelist() def get_party_details(party=None, account=None, party_type="Customer", company=None, posting_date=None, - bill_date=None, price_list=None, currency=None, doctype=None, ignore_permissions=False, fetch_payment_terms_template=True, party_address=None): + bill_date=None, price_list=None, currency=None, doctype=None, ignore_permissions=False, fetch_payment_terms_template=True, party_address=None, shipping_address=None): if not party: return {} if not frappe.db.exists(party_type, party): frappe.throw(_("{0}: {1} does not exists").format(party_type, party)) return _get_party_details(party, account, party_type, - company, posting_date, bill_date, price_list, currency, doctype, ignore_permissions, fetch_payment_terms_template, party_address) + company, posting_date, bill_date, price_list, currency, doctype, ignore_permissions, fetch_payment_terms_template, party_address, shipping_address) def _get_party_details(party=None, account=None, party_type="Customer", company=None, posting_date=None, bill_date=None, price_list=None, currency=None, doctype=None, ignore_permissions=False, @@ -96,7 +96,8 @@ def set_address_details(out, party, party_type, doctype=None, company=None, part elif doctype and doctype == "Purchase Invoice": out.update(get_company_address(company)) if out.company_address: - out["shipping_address"] = out["company_address"] + out["shipping_address"] = shipping_address or out["company_address"] + out.shipping_address_display = get_address_display(out["shipping_address"]) out.update(get_fetch_values(doctype, 'shipping_address', out.shipping_address)) get_regional_address_details(out, doctype, company) diff --git a/erpnext/controllers/buying_controller.py b/erpnext/controllers/buying_controller.py index 76d2d50316..696afb2306 100644 --- a/erpnext/controllers/buying_controller.py +++ b/erpnext/controllers/buying_controller.py @@ -69,7 +69,7 @@ class BuyingController(StockController): # set contact and address details for supplier, if they are not mentioned if getattr(self, "supplier", None): self.update_if_missing(get_party_details(self.supplier, party_type="Supplier", ignore_permissions=self.flags.ignore_permissions, - doctype=self.doctype, company=self.company, party_address=self.supplier_address)) + doctype=self.doctype, company=self.company, party_address=self.supplier_address, shipping_address=self.shipping_address)) self.set_missing_item_details(for_validate) diff --git a/erpnext/controllers/selling_controller.py b/erpnext/controllers/selling_controller.py index c01c9aeb55..57c6556a03 100644 --- a/erpnext/controllers/selling_controller.py +++ b/erpnext/controllers/selling_controller.py @@ -63,7 +63,7 @@ class SellingController(StockController): ignore_permissions=self.flags.ignore_permissions, doctype=self.doctype, company=self.company, fetch_payment_terms_template=fetch_payment_terms_template, - party_address=self.customer_address, shipping_address=self.shipping_address) + party_address=self.customer_address, shipping_address=self.shipping_address_name) if not self.meta.get_field("sales_team"): party_details.pop("sales_team") self.update_if_missing(party_details)