aclforall 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- aclforall-0.1.0/PKG-INFO +6 -0
- aclforall-0.1.0/acl_package/__init__.py +12 -0
- aclforall-0.1.0/acl_package/mixins/__init__.py +7 -0
- aclforall-0.1.0/acl_package/mixins/permission_mixin.py +24 -0
- aclforall-0.1.0/acl_package/models/__init__.py +9 -0
- aclforall-0.1.0/acl_package/models/group.py +7 -0
- aclforall-0.1.0/acl_package/models/group_role.py +7 -0
- aclforall-0.1.0/acl_package/models/object_permission.py +12 -0
- aclforall-0.1.0/acl_package/models/permission.py +8 -0
- aclforall-0.1.0/acl_package/models/role.py +8 -0
- aclforall-0.1.0/acl_package/models/role_permission.py +7 -0
- aclforall-0.1.0/acl_package/models/user.py +15 -0
- aclforall-0.1.0/acl_package/models/user_group.py +7 -0
- aclforall-0.1.0/acl_package/models/user_role.py +9 -0
- aclforall-0.1.0/acl_package/registry/__init__.py +3 -0
- aclforall-0.1.0/acl_package/registry/permission_registry.py +6 -0
- aclforall-0.1.0/aclforall.egg-info/PKG-INFO +6 -0
- aclforall-0.1.0/aclforall.egg-info/SOURCES.txt +20 -0
- aclforall-0.1.0/aclforall.egg-info/dependency_links.txt +1 -0
- aclforall-0.1.0/aclforall.egg-info/top_level.txt +1 -0
- aclforall-0.1.0/setup.cfg +4 -0
- aclforall-0.1.0/setup.py +11 -0
aclforall-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Make acl_package a proper Python package
|
|
2
|
+
from acl_package.models.user import User
|
|
3
|
+
from acl_package.models.role import Role
|
|
4
|
+
from acl_package.models.permission import Permission
|
|
5
|
+
from acl_package.models.group import Group
|
|
6
|
+
from acl_package.models.object_permission import ObjectPermission
|
|
7
|
+
from acl_package.mixins.permission_mixin import PermissionMixin
|
|
8
|
+
|
|
9
|
+
__all__ = [
|
|
10
|
+
'User', 'Role', 'Permission', 'Group',
|
|
11
|
+
'ObjectPermission', 'PermissionMixin'
|
|
12
|
+
]
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
class PermissionMixin:
|
|
2
|
+
def has_perm(self, permission_name, obj_type=None, obj_id=None):
|
|
3
|
+
|
|
4
|
+
if getattr(self, 'is_super_admin', False):
|
|
5
|
+
return True
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
for op in getattr(self, 'object_permissions', []):
|
|
9
|
+
if op.permission_name == permission_name:
|
|
10
|
+
if obj_type == op.object_type and obj_id == op.object_id:
|
|
11
|
+
return True
|
|
12
|
+
|
|
13
|
+
for role in getattr(self, 'roles', []):
|
|
14
|
+
for p in role.permissions:
|
|
15
|
+
if p.permission_name == permission_name:
|
|
16
|
+
return True
|
|
17
|
+
|
|
18
|
+
for group in getattr(self, 'groups', []):
|
|
19
|
+
for role in group.roles:
|
|
20
|
+
for p in role.permissions:
|
|
21
|
+
if p.permission_name == permission_name:
|
|
22
|
+
return True
|
|
23
|
+
|
|
24
|
+
return False
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
from acl_package.models.user import User
|
|
2
|
+
from acl_package.models.role import Role
|
|
3
|
+
from acl_package.models.permission import Permission
|
|
4
|
+
from acl_package.models.group import Group
|
|
5
|
+
from acl_package.models.user_role import UserRole
|
|
6
|
+
from acl_package.models.user_group import UserGroup
|
|
7
|
+
from acl_package.models.role_permission import RolePermission
|
|
8
|
+
from acl_package.models.group_role import GroupRole
|
|
9
|
+
from acl_package.models.object_permission import ObjectPermission
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
class ObjectPermission:
|
|
2
|
+
|
|
3
|
+
def __init__(self,id,user,group_id,object_type,object_id,permission_name,created_at=None):
|
|
4
|
+
self.id = id
|
|
5
|
+
self.user = user
|
|
6
|
+
self.group_id = group_id
|
|
7
|
+
self.object_type=object_type
|
|
8
|
+
self.object_id=object_id
|
|
9
|
+
self.permission_name=permission_name
|
|
10
|
+
self.created_at = created_at
|
|
11
|
+
|
|
12
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
|
|
2
|
+
from acl_package.mixins.permission_mixin import PermissionMixin
|
|
3
|
+
|
|
4
|
+
class User(PermissionMixin):
|
|
5
|
+
def __init__(self, id, username, email, password, is_super_admin, is_admin, created_at=None):
|
|
6
|
+
self.id = id
|
|
7
|
+
self.username = username
|
|
8
|
+
self.email = email
|
|
9
|
+
self.password = password
|
|
10
|
+
self.is_super_admin = is_super_admin
|
|
11
|
+
self.is_admin = is_admin
|
|
12
|
+
self.created_at = created_at
|
|
13
|
+
self.roles = []
|
|
14
|
+
self.groups = []
|
|
15
|
+
self.object_permissions = []
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
setup.py
|
|
2
|
+
acl_package/__init__.py
|
|
3
|
+
acl_package/mixins/__init__.py
|
|
4
|
+
acl_package/mixins/permission_mixin.py
|
|
5
|
+
acl_package/models/__init__.py
|
|
6
|
+
acl_package/models/group.py
|
|
7
|
+
acl_package/models/group_role.py
|
|
8
|
+
acl_package/models/object_permission.py
|
|
9
|
+
acl_package/models/permission.py
|
|
10
|
+
acl_package/models/role.py
|
|
11
|
+
acl_package/models/role_permission.py
|
|
12
|
+
acl_package/models/user.py
|
|
13
|
+
acl_package/models/user_group.py
|
|
14
|
+
acl_package/models/user_role.py
|
|
15
|
+
acl_package/registry/__init__.py
|
|
16
|
+
acl_package/registry/permission_registry.py
|
|
17
|
+
aclforall.egg-info/PKG-INFO
|
|
18
|
+
aclforall.egg-info/SOURCES.txt
|
|
19
|
+
aclforall.egg-info/dependency_links.txt
|
|
20
|
+
aclforall.egg-info/top_level.txt
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
acl_package
|
aclforall-0.1.0/setup.py
ADDED