diff --git a/docassemble/AssemblyLine/al_general.py b/docassemble/AssemblyLine/al_general.py
index 105206f0..a9076471 100644
--- a/docassemble/AssemblyLine/al_general.py
+++ b/docassemble/AssemblyLine/al_general.py
@@ -713,7 +713,13 @@ def names_and_addresses_on_one_line(
"""
return comma_and_list(
[
- str(person) + ", " + person.address.on_one_line(bare=bare)
+ str(person)
+ + ", "
+ + (
+ person.address.on_one_line(bare=bare)
+ if isinstance(person.address, ALAddress)
+ else str(person.address.on_one_line())
+ )
for person in self
],
comma_string=comma_string,
@@ -1437,29 +1443,46 @@ def address_block(
str: The formatted address block.
"""
if this_thread.evaluation_context == "docx":
- return (
- self.name.full()
- + ''
- + self.address.block(
+ if isinstance(self.address, ALAddress):
+ return self.address.block(
language=language,
international=international,
show_country=show_country,
bare=bare,
show_impounded=show_impounded,
)
- )
- return (
- "[FLUSHLEFT] "
- + self.name.full()
- + " [NEWLINE] "
- + self.address.block(
- language=language,
- international=international,
- show_country=show_country,
- bare=bare,
- show_impounded=show_impounded,
- )
- )
+ else:
+ # bare parameter is ignored for plain Address objects
+ return self.address.block(
+ language=language,
+ international=international,
+ show_country=show_country,
+ )
+ else:
+ if isinstance(self.address, ALAddress):
+ return (
+ "[FLUSHLEFT] "
+ + self.name.full()
+ + " [NEWLINE] "
+ + self.address.block(
+ language=language,
+ international=international,
+ show_country=show_country,
+ bare=bare,
+ show_impounded=show_impounded,
+ )
+ )
+ else:
+ return (
+ "[FLUSHLEFT] "
+ + self.name.full()
+ + " [NEWLINE] "
+ + self.address.block(
+ language=language,
+ international=international,
+ show_country=show_country,
+ )
+ )
def pronoun(self, **kwargs) -> str:
"""Returns an objective pronoun as appropriate, based on attributes.