Skip to content

Commit

Permalink
fix: set billing_address for purchases in get_party_details
Browse files Browse the repository at this point in the history
(cherry picked from commit a3625b3)
  • Loading branch information
sagarvora committed Aug 13, 2022
1 parent 0569f8a commit a7d66fa
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 23 deletions.
27 changes: 23 additions & 4 deletions erpnext/accounts/party.py
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ def set_address_details(
)

if company_address:
party_details.update({"company_address": company_address})
party_details.company_address = company_address
else:
party_details.update(get_company_address(company))

Expand All @@ -220,12 +220,31 @@ def set_address_details(
get_regional_address_details(party_details, doctype, company)

elif doctype and doctype in ["Purchase Invoice", "Purchase Order", "Purchase Receipt"]:
if shipping_address:
party_details.update(
shipping_address=shipping_address,
shipping_address_display=get_address_display(shipping_address),
**get_fetch_values(doctype, "shipping_address", shipping_address)
)

if party_details.company_address:
party_details["shipping_address"] = shipping_address or party_details["company_address"]
party_details.shipping_address_display = get_address_display(party_details["shipping_address"])
# billing address
party_details.update(
get_fetch_values(doctype, "shipping_address", party_details.shipping_address)
billing_address=party_details.company_address,
billing_address_display=(
party_details.company_address_display or get_address_display(party_details.company_address)
),
**get_fetch_values(doctype, "billing_address", party_details.company_address)
)

# shipping address - if not already set
if not party_details.shipping_address:
party_details.update(
shipping_address=party_details.billing_address,
shipping_address_display=party_details.billing_address_display,
**get_fetch_values(doctype, "shipping_address", party_details.billing_address)
)

get_regional_address_details(party_details, doctype, company)

return party_details.get(billing_address_field), party_details.shipping_address_name
Expand Down
1 change: 1 addition & 0 deletions erpnext/controllers/buying_controller.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ def set_missing_values(self, for_validate=False):
company=self.company,
party_address=self.get("supplier_address"),
shipping_address=self.get("shipping_address"),
company_address=self.get("billing_address"),
fetch_payment_terms_template=not self.get("ignore_default_payment_terms_template"),
ignore_permissions=self.flags.ignore_permissions,
)
Expand Down
19 changes: 0 additions & 19 deletions erpnext/public/js/controllers/transaction.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
// License: GNU General Public License v3. See license.txt

frappe.provide('erpnext.accounts.dimensions');

erpnext.TransactionController = erpnext.taxes_and_totals.extend({
setup: function() {
Expand Down Expand Up @@ -910,24 +909,6 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({
set_party_account(set_pricing);
});

// Get default company billing address in Purchase Invoice, Order and Receipt
if (this.frm.doc.company && frappe.meta.get_docfield(this.frm.doctype, "billing_address")) {
frappe.call({
method: "erpnext.setup.doctype.company.company.get_default_company_address",
args: {name: this.frm.doc.company, existing_address: this.frm.doc.billing_address || ""},
debounce: 2000,
callback: function(r) {
if (r.message) {
me.frm.set_value("billing_address", r.message);
} else {
if (frappe.meta.get_docfield(me.frm.doctype, 'company_address')) {
me.frm.set_value("company_address", "");
}
}
}
});
}

} else {
set_party_account(set_pricing);
}
Expand Down

0 comments on commit a7d66fa

Please sign in to comment.