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