Skip to content

Commit

Permalink
base_ubl: street3 export
Browse files Browse the repository at this point in the history
In an address, the real street is usually put on the last "street"
field. Ensure we get this in StreetName or AdditionalStreetName but not
in another element.

Example:
 - name: Ms H Williams
 - street: Finance and Accounting
 - street2: Australia Post
 - street3: 219–241 Cleveland St
  • Loading branch information
jbaudoux committed May 27, 2024
1 parent 87c6f9d commit 38d876e
Showing 1 changed file with 19 additions and 5 deletions.
24 changes: 19 additions & 5 deletions base_ubl/models/ubl.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,17 +38,31 @@ def _ubl_add_country(self, country, parent_node, ns, version="2.1"):
@api.model
def _ubl_add_address(self, partner, node_name, parent_node, ns, version="2.1"):
address = etree.SubElement(parent_node, ns["cac"] + node_name)
if partner.street:
if partner.street or partner.street2:
streetname = etree.SubElement(address, ns["cbc"] + "StreetName")
streetname.text = partner.street
if partner.street2:
streetname.text = partner.street or partner.street2
if partner.street and partner.street2:
addstreetname = etree.SubElement(
address, ns["cbc"] + "AdditionalStreetName"
)
addstreetname.text = partner.street2
# if oca/partner-contact/partner_address_street3 is installed

Check warning on line 49 in base_ubl/models/ubl.py

View check run for this annotation

Codecov / codecov/patch

base_ubl/models/ubl.py#L49

Added line #L49 was not covered by tests
if hasattr(partner, "street3") and partner.street3:
blockname = etree.SubElement(address, ns["cbc"] + "BlockName")
blockname.text = partner.street3
# In an address, the real street is usually put in the last field

Check warning on line 51 in base_ubl/models/ubl.py

View check run for this annotation

Codecov / codecov/patch

base_ubl/models/ubl.py#L51

Added line #L51 was not covered by tests
if partner.street and partner.street2:
# The first field is usually the Department

Check warning on line 53 in base_ubl/models/ubl.py

View check run for this annotation

Codecov / codecov/patch

base_ubl/models/ubl.py#L53

Added line #L53 was not covered by tests
department = etree.SubElement(address, ns["cbc"] + "Department")
department.text = partner.street
streetname.text = partner.street2

Check warning on line 56 in base_ubl/models/ubl.py

View check run for this annotation

Codecov / codecov/patch

base_ubl/models/ubl.py#L56

Added line #L56 was not covered by tests
addstreetname.text = partner.street3
elif partner.street or partner.street2:
addstreetname = etree.SubElement(

Check warning on line 59 in base_ubl/models/ubl.py

View check run for this annotation

Codecov / codecov/patch

base_ubl/models/ubl.py#L58-L59

Added lines #L58 - L59 were not covered by tests
address, ns["cbc"] + "AdditionalStreetName"
)
addstreetname.text = partner.street3
else:
streetname = etree.SubElement(address, ns["cbc"] + "StreetName")
streetname.text = partner.street3
if partner.city:
city = etree.SubElement(address, ns["cbc"] + "CityName")
city.text = partner.city
Expand Down

0 comments on commit 38d876e

Please sign in to comment.