From e56b099c7962fd12b96d5c164981c39d6462c89b Mon Sep 17 00:00:00 2001 From: Helge Jung <hej@c3pb.de> Date: Wed, 4 Dec 2024 20:00:07 +0100 Subject: [PATCH] Assembly: handle rule predicate with 'None' assembly see sentry 38C3-HUB-1A --- src/core/models/assemblies.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/core/models/assemblies.py b/src/core/models/assemblies.py index eee23e2b6..562723549 100644 --- a/src/core/models/assemblies.py +++ b/src/core/models/assemblies.py @@ -37,17 +37,21 @@ from core.validators import FileSizeValidator, ImageDimensionValidator @rules.predicate def is_assembly_member(user: PlatformUser, assembly: 'Assembly') -> bool: + if assembly is None: + return False return assembly.has_user(user) @rules.predicate def is_assembly_manager(user: PlatformUser, assembly: 'Assembly') -> bool: + if assembly is None: + return False return assembly.user_can_manage(user) @rules.predicate def is_habitat_manager(user: PlatformUser, assembly: 'Assembly') -> bool: - if assembly.parent is None: + if assembly is None or assembly.parent is None: return False return assembly.parent.user_can_manage(user) -- GitLab