From 09eb6c6e17f0ad6f5aae5bd8f9bcd5a3e10ef03f Mon Sep 17 00:00:00 2001
From: Joscha Schmiedt <joscha@schmiedt.dev>
Date: Fri, 5 Apr 2024 20:13:32 +0200
Subject: [PATCH] Fix too early thrown ACL error

---
 src/linkahead/common/models.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/linkahead/common/models.py b/src/linkahead/common/models.py
index 81f10eda..0cefbbb3 100644
--- a/src/linkahead/common/models.py
+++ b/src/linkahead/common/models.py
@@ -474,14 +474,14 @@ class Entity:
             priority=priority)
 
     def is_permitted(self, permission: Permission, role: Optional[str] = None):
-        if self.acl is None:
-            raise EntityHasNoAclError("This entity does not have an ACL (yet).")
-
         if role is None and self.permissions is not None:
             # pylint: disable=unsupported-membership-test
             return permission in self.permissions
+        else:
+            if self.acl is None:
+                raise EntityHasNoAclError("This entity does not have an ACL (yet).")
+            self.acl.is_permitted(role=role, permission=permission)
 
-        self.acl.is_permitted(role, permission=permission)
 
     def get_all_messages(self) -> Messages:
         ret = Messages()
-- 
GitLab