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,
|
domain=domain,
|
||||||
fields=ADDRESS_FIELDS,
|
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 []
|
return invoice_addresses or []
|
||||||
except Exception:
|
except Exception:
|
||||||
return []
|
return []
|
||||||
|
|
|
@ -61,13 +61,23 @@ class OrganizationCreateForm(OrganizationForm):
|
||||||
if self.odoo_addresses:
|
if self.odoo_addresses:
|
||||||
address_choices = [("", _("---------"))]
|
address_choices = [("", _("---------"))]
|
||||||
for addr in self.odoo_addresses:
|
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 = [
|
display_parts = [
|
||||||
|
parent_name,
|
||||||
addr.get("name"),
|
addr.get("name"),
|
||||||
addr.get("street"),
|
addr.get("street"),
|
||||||
addr.get("city"),
|
addr.get("city"),
|
||||||
addr.get("zip"),
|
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))
|
address_choices.append((str(addr["id"]), display_name))
|
||||||
|
|
||||||
self.fields["existing_odoo_address_id"].choices = address_choices
|
self.fields["existing_odoo_address_id"].choices = address_choices
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue