Simplify and remove unused code

This commit is contained in:
Roberto Rosario
2015-06-30 02:43:58 -04:00
parent eddce6611a
commit 0e24f8d821
3 changed files with 7 additions and 18 deletions

View File

@@ -41,8 +41,8 @@ class Permission(object):
_permissions = {}
@classmethod
def check_permissions(cls, requester, permission_list):
for permission in permission_list:
def check_permissions(cls, requester, permissions):
for permission in permissions:
if permission.requester_has_this(requester):
return True
@@ -98,5 +98,4 @@ class Permission(object):
return stored_permission
def requester_has_this(self, requester):
stored_permission = self.stored_permission
return stored_permission.requester_has_this(requester)
return self.stored_permission.requester_has_this(requester)

View File

@@ -40,22 +40,16 @@ class StoredPermission(models.Model):
def __str__(self):
return unicode(getattr(self, 'volatile_permission', self.name))
def get_holders(self):
result = []
for role in self.roles.all():
for user in role.group.user_set.all():
result.append(user)
return result
def requester_has_this(self, user):
logger.debug('user: %s', user)
if user.is_superuser or user.is_staff:
return True
# Request is one of the permission's holders?
if user in self.get_holders():
return True
for group in user.groups.all():
for role in group.roles.all():
if self in role.permissions.all():
return True
logger.debug('Fallthru')
return False

View File

@@ -78,10 +78,6 @@ class SetupRoleMembersView(AssignRemoveView):
class SetupRolePermissionsView(AssignRemoveView):
grouped = True
@staticmethod
def as_choice_list(items):
return sorted([(item.pk, item) for item in items], key=lambda x: x[1])
def add(self, item):
permission = get_object_or_404(StoredPermission, pk=item)
self.role.permissions.add(permission)