Sort invoice addresses by parent org name
This commit is contained in:
parent
7a38571c18
commit
f4289b6973
2 changed files with 19 additions and 1 deletions
|
@ -192,6 +192,14 @@ def get_invoice_addresses(user):
|
|||
domain=domain,
|
||||
fields=ADDRESS_FIELDS,
|
||||
)
|
||||
if invoice_addresses:
|
||||
invoice_addresses.sort(
|
||||
key=lambda addr: (
|
||||
addr["parent_id"][1] if addr.get("parent_id") else "",
|
||||
addr["name"],
|
||||
addr["id"],
|
||||
)
|
||||
)
|
||||
return invoice_addresses or []
|
||||
except Exception:
|
||||
return []
|
||||
|
|
|
@ -61,13 +61,23 @@ class OrganizationCreateForm(OrganizationForm):
|
|||
if self.odoo_addresses:
|
||||
address_choices = [("", _("---------"))]
|
||||
for addr in self.odoo_addresses:
|
||||
parent_name = None
|
||||
parent_info = addr.get("parent_id")
|
||||
if (
|
||||
parent_info
|
||||
and isinstance(parent_info, (list, tuple))
|
||||
and len(parent_info) > 1
|
||||
):
|
||||
parent_name = parent_info[1]
|
||||
|
||||
display_parts = [
|
||||
parent_name,
|
||||
addr.get("name"),
|
||||
addr.get("street"),
|
||||
addr.get("city"),
|
||||
addr.get("zip"),
|
||||
]
|
||||
display_name = ", ".join(filter(None, display_parts))
|
||||
display_name = ", ".join([part for part in display_parts if part])
|
||||
address_choices.append((str(addr["id"]), display_name))
|
||||
|
||||
self.fields["existing_odoo_address_id"].choices = address_choices
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue