mirror of
https://github.com/frappe/erpnext.git
synced 2026-06-06 13:49:13 +00:00
refactor: set address details for transactions
(cherry picked from commit fb3b7d8c34)
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user