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,
):
billing_address_field = (
# party_billing
party_billing_field = (
"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:
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[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"]:
party_shipping_address_field = "shipping_address_name"
party_shipping_address_display_field = "shipping_address"
is_party_type_supplier = False
party_shipping_field = "shipping_address_name"
party_shipping_display = "shipping_address"
default_shipping = shipping_address
else: # Default to Supplier
party_shipping_address_field = "dispatch_address"
party_shipping_address_display_field = "dispatch_address_display"
is_party_type_supplier = True
else:
# Supplier
party_shipping_field = "dispatch_address"
party_shipping_display = "dispatch_address_display"
default_shipping = dispatch_address
party_details[party_shipping_address_field] = (
dispatch_address if is_party_type_supplier else shipping_address
) or get_party_shipping_address(party_type, party.name)
party_details[party_shipping_field] = default_shipping or get_party_shipping_address(
party_type, party.name
)
party_details[party_shipping_address_display_field] = render_address(
party_details[party_shipping_address_field], check_permissions=not ignore_permissions
party_details[party_shipping_display] = render_address(
party_details[party_shipping_field], check_permissions=not ignore_permissions
)
if doctype:
party_details.update(
get_fetch_values(
doctype, party_shipping_address_field, party_details[party_shipping_address_field]
)
get_fetch_values(doctype, party_shipping_field, party_details[party_shipping_field])
)
# company_address
if company_address:
party_details.company_address = company_address
else:
@@ -277,22 +277,20 @@ def set_address_details(
**get_fetch_values(doctype, "shipping_address", party_details.billing_address),
)
party_address, shipping_address = (
party_details.get(billing_address_field),
party_details.get(party_shipping_address_field),
party_billing, party_shipping = (
party_details.get(party_billing_field),
party_details.get(party_shipping_field),
)
party_details["tax_category"] = get_address_tax_category(
party.get("tax_category"),
party_address,
shipping_address if party_type != "Supplier" else party_address,
party.get("tax_category"), party_billing, party_shipping
)
if doctype in TRANSACTION_TYPES:
with temporary_flag("company", company):
get_regional_address_details(party_details, doctype, company)
return party_address, shipping_address
return party_billing, party_shipping
@erpnext.allow_regional