Merge pull request #37552 from frappe/addr_fetch
fix: Ignore addr permission in internal code
diff --git a/erpnext/controllers/selling_controller.py b/erpnext/controllers/selling_controller.py
index 418a56f..c01ac81 100644
--- a/erpnext/controllers/selling_controller.py
+++ b/erpnext/controllers/selling_controller.py
@@ -4,7 +4,6 @@
import frappe
from frappe import _, bold, throw
-from frappe.contacts.doctype.address.address import get_address_display
from frappe.utils import cint, flt, get_link_to_form, nowtime
from erpnext.controllers.accounts_controller import get_taxes_and_charges
@@ -593,6 +592,12 @@
)
def set_customer_address(self):
+ try:
+ from frappe.contacts.doctype.address.address import render_address
+ except ImportError:
+ # Older frappe versions where this function is not available
+ from frappe.contacts.doctype.address.address import get_address_display as render_address
+
address_dict = {
"customer_address": "address_display",
"shipping_address_name": "shipping_address",
@@ -602,7 +607,8 @@
for address_field, address_display_field in address_dict.items():
if self.get(address_field):
- self.set(address_display_field, get_address_display(self.get(address_field)))
+ address = frappe.call(render_address, self.get(address_field), ignore_permissions=True)
+ self.set(address_display_field, address)
def validate_for_duplicate_items(self):
check_list, chk_dupl_itm = [], []