owner.remove_role - fix error handling resource level rel (fe1e307)

It's probably was just an overlook in the original commit - it was referring to `settings["organisation"]`, though `"organization"` was never passed, leading to an error. And probably by accident remove_role tests were using the same tests as remove_organization, so the issue went under the radar for a while.
This commit is contained in:
Andrej730
2025-07-15 12:34:01 +05:00
parent 03fa850ce2
commit 262739f37a
2 changed files with 13 additions and 11 deletions
@@ -42,7 +42,8 @@ def remove_role(file: ifcopenshell.file, role: ifcopenshell.entity_instance) ->
if inverse.is_a() in ("IfcOrganization", "IfcPerson", "IfcPersonAndOrganization"):
if inverse.Roles == (role,):
inverse.Roles = None
elif inverse.is_a("IfcResourceLevelRelationship") and not inverse.is_a("IfcOrganizationRelationship"):
if inverse.RelatedResourceObjects == (organisation,):
elif inverse.is_a("IfcResourceLevelRelationship"):
# IfcResourceConstraintRelationship or other rels with IfcResourceObjectSelect.
if inverse.RelatedResourceObjects == (role,):
file.remove(inverse)
file.remove(role)