refactor: set address details for transactions

(cherry picked from commit fb3b7d8c34)
This commit is contained in:
Smit Vora
2025-04-21 13:46:59 +05:30
committed by Mergify
parent 62261a276f
commit 7baa8f50fb

View File

@@ -199,47 +199,47 @@ def set_address_details(
*, *,
ignore_permissions=False, ignore_permissions=False,
): ):
billing_address_field = ( # party_billing
party_billing_field = (
"customer_address" if party_type in ["Lead", "Prospect"] else party_type.lower() + "_address" "customer_address" if party_type in ["Lead", "Prospect"] else party_type.lower() + "_address"
) )
party_details[billing_address_field] = party_address or get_default_address(party_type, party.name) party_details[party_billing_field] = party_address or get_default_address(party_type, party.name)
if doctype: if doctype:
party_details.update( party_details.update(
get_fetch_values(doctype, billing_address_field, party_details[billing_address_field]) get_fetch_values(doctype, party_billing_field, party_details[party_billing_field])
) )
# address display
party_details.address_display = render_address( party_details.address_display = render_address(
party_details[billing_address_field], check_permissions=not ignore_permissions party_details[party_billing_field], check_permissions=not ignore_permissions
) )
# Initialize shipping address fields based on party type # party_shipping
if party_type in ["Customer", "Lead"]: if party_type in ["Customer", "Lead"]:
party_shipping_address_field = "shipping_address_name" party_shipping_field = "shipping_address_name"
party_shipping_address_display_field = "shipping_address" party_shipping_display = "shipping_address"
is_party_type_supplier = False default_shipping = shipping_address
else: # Default to Supplier else:
party_shipping_address_field = "dispatch_address" # Supplier
party_shipping_address_display_field = "dispatch_address_display" party_shipping_field = "dispatch_address"
is_party_type_supplier = True party_shipping_display = "dispatch_address_display"
default_shipping = dispatch_address
party_details[party_shipping_address_field] = ( party_details[party_shipping_field] = default_shipping or get_party_shipping_address(
dispatch_address if is_party_type_supplier else shipping_address party_type, party.name
) or get_party_shipping_address(party_type, party.name) )
party_details[party_shipping_address_display_field] = render_address( party_details[party_shipping_display] = render_address(
party_details[party_shipping_address_field], check_permissions=not ignore_permissions party_details[party_shipping_field], check_permissions=not ignore_permissions
) )
if doctype: if doctype:
party_details.update( party_details.update(
get_fetch_values( get_fetch_values(doctype, party_shipping_field, party_details[party_shipping_field])
doctype, party_shipping_address_field, party_details[party_shipping_address_field]
)
) )
# company_address
if company_address: if company_address:
party_details.company_address = company_address party_details.company_address = company_address
else: else:
@@ -277,22 +277,20 @@ def set_address_details(
**get_fetch_values(doctype, "shipping_address", party_details.billing_address), **get_fetch_values(doctype, "shipping_address", party_details.billing_address),
) )
party_address, shipping_address = ( party_billing, party_shipping = (
party_details.get(billing_address_field), party_details.get(party_billing_field),
party_details.get(party_shipping_address_field), party_details.get(party_shipping_field),
) )
party_details["tax_category"] = get_address_tax_category( party_details["tax_category"] = get_address_tax_category(
party.get("tax_category"), party.get("tax_category"), party_billing, party_shipping
party_address,
shipping_address if party_type != "Supplier" else party_address,
) )
if doctype in TRANSACTION_TYPES: if doctype in TRANSACTION_TYPES:
with temporary_flag("company", company): with temporary_flag("company", company):
get_regional_address_details(party_details, doctype, company) get_regional_address_details(party_details, doctype, company)
return party_address, shipping_address return party_billing, party_shipping
@erpnext.allow_regional @erpnext.allow_regional