From 7b9cedebf62545669dc2530de9575d06d2c28702 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Tue, 17 Oct 2023 19:00:52 +0530 Subject: [PATCH] fix: Ignore addr permission in internal code --- erpnext/controllers/selling_controller.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/erpnext/controllers/selling_controller.py b/erpnext/controllers/selling_controller.py index 418a56f5fe59..c01ac8115a92 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_gross_profit(self): ) 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 @@ def set_customer_address(self): 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 = [], []