Browse Source

Fixed ACL algebra

Rafał Pitoń 10 years ago
parent
commit
0a221f1ee7
1 changed files with 7 additions and 8 deletions
  1. 7 8
      misago/acl/algebra.py

+ 7 - 8
misago/acl/algebra.py

@@ -8,19 +8,18 @@ def _roles_acls(key_name, roles):
 
 
 def sum_acls(result_acl, acls=None, roles=None, key=None, **permissions):
-    if roles is None != key is None:
-        if key:
-            raise ValueError(
-                'You have provided "key" but omited "roles" argument')
-        else:
-            raise ValueError(
-                'You have provided "roles" but omited "key" argument')
+    if not key:
+        raise ValueError('You have to provide "key" argument')
 
     if acls and roles:
         raise ValueError(
             'You can not provide both "acls" and "roles" arguments')
 
-    if roles:
+    if (acls is None) and (roles is None):
+        raise ValueError(
+            'You have to provide either "acls" and "roles" argument')
+
+    if roles is not None:
         acls = _roles_acls(key, roles)
 
     for permission, compare in permissions.items():