From 42eb88f5f60ddb556ba7582d253b75abbd601c6e Mon Sep 17 00:00:00 2001 From: Sanket322 Date: Fri, 3 Jan 2025 16:44:24 +0530 Subject: [PATCH] fix: set billing and shipping address on change of company (cherry picked from commit f46f1bead4a0df94e8ab5b2b8c8479b007147ddf) --- erpnext/public/js/controllers/buying.js | 7 +++++-- erpnext/setup/doctype/company/company.py | 8 ++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/erpnext/public/js/controllers/buying.js b/erpnext/public/js/controllers/buying.js index af61d5f0258..8bf679c68c3 100644 --- a/erpnext/public/js/controllers/buying.js +++ b/erpnext/public/js/controllers/buying.js @@ -157,10 +157,13 @@ erpnext.buying = { if(!frappe.meta.has_field(this.frm.doc.doctype, "billing_address")) return; frappe.call({ - method: "erpnext.setup.doctype.company.company.get_default_company_address", + method: "erpnext.setup.doctype.company.company.get_billing_shipping_address", args: { name: this.frm.doc.company, existing_address:this.frm.doc.billing_address }, callback: (r) => { - this.frm.set_value("billing_address", r.message || ""); + this.frm.set_value("billing_address", r.message.primary_address || ""); + + if(!frappe.meta.has_field(this.frm.doc.doctype, "shipping_address")) return; + this.frm.set_value("shipping_address", r.message.shipping_address || ""); }, }); } diff --git a/erpnext/setup/doctype/company/company.py b/erpnext/setup/doctype/company/company.py index d781288c8bd..1929ce22334 100644 --- a/erpnext/setup/doctype/company/company.py +++ b/erpnext/setup/doctype/company/company.py @@ -914,6 +914,14 @@ def get_default_company_address(name, sort_key="is_primary_address", existing_ad return None +@frappe.whitelist() +def get_billing_shipping_address(name, existing_address=None): + primart_address = get_default_company_address(name, "is_primary_address", existing_address) + shipping_address = get_default_company_address(name, "is_shipping_address", existing_address) + + return {"primary_address": primart_address, "shipping_address": shipping_address} + + @frappe.whitelist() def create_transaction_deletion_request(company): from erpnext.setup.doctype.transaction_deletion_record.transaction_deletion_record import (