Added singleton role support method and parent_role auto-binder in the ImplicitRoleField

Also fixed bug in the single object permission lookup.
This commit is contained in:
Akita Noek
2016-01-29 16:37:13 -05:00
parent 4d080497cc
commit 1035a6737e
3 changed files with 22 additions and 3 deletions
+11
View File
@@ -26,6 +26,7 @@ class Role(CommonModelNameNotUnique):
verbose_name_plural = _('roles')
db_table = 'main_rbac_roles'
singleton_name = models.TextField(null=True, default=None, db_index=True, unique=True)
parents = models.ManyToManyField('Role', related_name='children')
members = models.ManyToManyField('auth.User', related_name='roles')
@@ -74,6 +75,16 @@ class Role(CommonModelNameNotUnique):
setattr(permission, k, int(permissions[k]))
permission.save()
@staticmethod
def singleton(name):
try:
return Role.objects.get(singleton_name=name)
except Role.DoesNotExist:
ret = Role(singleton_name=name)
ret.save()
return ret;
class RoleHierarchy(CreatedModifiedModel):
'''