PEP8 cleanups
This commit is contained in:
@@ -1 +0,0 @@
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ from django.core.exceptions import PermissionDenied
|
||||
from common.models import AnonymousUserSingleton
|
||||
|
||||
from .managers import (RoleMemberManager, StoredPermissionManager)
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ class PermissionNamespace(object):
|
||||
def __init__(self, name, label):
|
||||
self.name = name
|
||||
self.label = label
|
||||
|
||||
|
||||
def __unicode__(self):
|
||||
return unicode(self.label)
|
||||
|
||||
@@ -29,17 +29,17 @@ class PermissionNamespace(object):
|
||||
class PermissionDoesNotExists(Exception):
|
||||
pass
|
||||
|
||||
|
||||
|
||||
class PermissionManager(object):
|
||||
_permissions = {}
|
||||
DoesNotExist = PermissionDoesNotExists()
|
||||
|
||||
|
||||
@classmethod
|
||||
def register(cls, namespace, name, label):
|
||||
permission = Permission(namespace, name, label)
|
||||
cls._permissions[permission.uuid] = permission
|
||||
return permission
|
||||
|
||||
|
||||
@classmethod
|
||||
def check_permissions(cls, requester, permission_list):
|
||||
for permission in permission_list:
|
||||
@@ -49,11 +49,11 @@ class PermissionManager(object):
|
||||
logger.debug('no permission')
|
||||
|
||||
raise PermissionDenied(ugettext(u'Insufficient permissions.'))
|
||||
|
||||
|
||||
@classmethod
|
||||
def get_for_holder(cls, holder):
|
||||
return StoredPermission.objects.get_for_holder(holder)
|
||||
|
||||
|
||||
@classmethod
|
||||
def all(cls):
|
||||
# Return sorted permisions by namespace.name
|
||||
@@ -69,21 +69,21 @@ class PermissionManager(object):
|
||||
return cls._permissions[get_dict['pk']].get_stored_permission()
|
||||
except KeyError:
|
||||
raise Permission.DoesNotExist
|
||||
|
||||
|
||||
|
||||
|
||||
def __init__(self, model):
|
||||
self.model = model
|
||||
|
||||
|
||||
|
||||
class Permission(object):
|
||||
DoesNotExist = PermissionDoesNotExists
|
||||
|
||||
|
||||
def __init__(self, namespace, name, label):
|
||||
self.namespace = namespace
|
||||
self.name = name
|
||||
self.label = label
|
||||
self.pk = self.uuid
|
||||
|
||||
|
||||
def __unicode__(self):
|
||||
return unicode(self.label)
|
||||
|
||||
@@ -93,7 +93,7 @@ class Permission(object):
|
||||
@property
|
||||
def uuid(self):
|
||||
return u'%s.%s' % (self.namespace.name, self.name)
|
||||
|
||||
|
||||
@property
|
||||
def stored_permission(self):
|
||||
return self.get_stored_permission()
|
||||
@@ -107,17 +107,17 @@ class Permission(object):
|
||||
stored_permission.save()
|
||||
stored_permission.volatile_permission = self
|
||||
return stored_permission
|
||||
|
||||
|
||||
def requester_has_this(self, requester):
|
||||
stored_permission = self.get_stored_permission()
|
||||
return stored_permission.requester_has_this(requester)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
return self.get_stored_permission()
|
||||
|
||||
|
||||
Permission.objects = PermissionManager(Permission)
|
||||
Permission._default_manager = Permission.objects
|
||||
|
||||
|
||||
|
||||
class StoredPermission(models.Model):
|
||||
namespace = models.CharField(max_length=64, verbose_name=_(u'namespace'))
|
||||
@@ -126,15 +126,15 @@ class StoredPermission(models.Model):
|
||||
objects = StoredPermissionManager()
|
||||
|
||||
class Meta:
|
||||
ordering = ('namespace', )
|
||||
ordering = ('namespace', )
|
||||
unique_together = ('namespace', 'name')
|
||||
verbose_name = _(u'permission')
|
||||
verbose_name_plural = _(u'permissions')
|
||||
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(StoredPermission, self).__init__(*args, **kwargs)
|
||||
self.volatile_permission = Permission.objects.get({'pk': '%s.%s' % (self.namespace, self.name)}, proxy_only=True)
|
||||
|
||||
|
||||
def __unicode__(self):
|
||||
return unicode(getattr(self, 'volatile_permission', self.name))
|
||||
|
||||
@@ -164,7 +164,7 @@ class StoredPermission(models.Model):
|
||||
for membership in list(set(roles) | set(groups)):
|
||||
if self.requester_has_this(membership):
|
||||
return True
|
||||
|
||||
|
||||
logger.debug('Fallthru')
|
||||
return False
|
||||
|
||||
@@ -181,7 +181,7 @@ class StoredPermission(models.Model):
|
||||
return True
|
||||
except PermissionHolder.DoesNotExist:
|
||||
return False
|
||||
|
||||
|
||||
|
||||
class PermissionHolder(models.Model):
|
||||
permission = models.ForeignKey(StoredPermission, verbose_name=_(u'permission'))
|
||||
@@ -228,7 +228,7 @@ class Role(models.Model):
|
||||
member = AnonymousUserSingleton.objects.passthru_check(member)
|
||||
member_type=ContentType.objects.get_for_model(member)
|
||||
role_member = RoleMember.objects.get(role=self, member_type=member_type, member_id=member.pk)
|
||||
role_member.delete()
|
||||
role_member.delete()
|
||||
|
||||
def members(self, filter_dict=None):
|
||||
filter_dict = filter_dict or {}
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
|
||||
|
||||
@@ -20,4 +20,3 @@ Another way to test that 1 + 1 is equal to 2.
|
||||
>>> 1 + 1 == 2
|
||||
True
|
||||
"""}
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ urlpatterns = patterns('permissions.views',
|
||||
url(r'^role/(?P<role_id>\d+)/edit/$', 'role_edit', (), 'role_edit'),
|
||||
url(r'^role/(?P<role_id>\d+)/delete/$', 'role_delete', (), 'role_delete'),
|
||||
url(r'^role/(?P<role_id>\d+)/members/$', 'role_members', (), 'role_members'),
|
||||
|
||||
|
||||
url(r'^permissions/multiple/grant/$', 'permission_grant', (), 'permission_multiple_grant'),
|
||||
url(r'^permissions/multiple/revoke/$', 'permission_revoke', (), 'permission_multiple_revoke'),
|
||||
)
|
||||
|
||||
@@ -24,7 +24,7 @@ from .models import Role, Permission, PermissionHolder, RoleMember
|
||||
from .forms import RoleForm, RoleForm_view
|
||||
from .permissions import (PERMISSION_ROLE_VIEW, PERMISSION_ROLE_EDIT,
|
||||
PERMISSION_ROLE_CREATE, PERMISSION_ROLE_DELETE,
|
||||
PERMISSION_PERMISSION_GRANT, PERMISSION_PERMISSION_REVOKE)
|
||||
PERMISSION_PERMISSION_GRANT, PERMISSION_PERMISSION_REVOKE)
|
||||
from .widgets import role_permission_link
|
||||
|
||||
|
||||
@@ -133,20 +133,20 @@ def permission_grant(request):
|
||||
permission = Permission.objects.get({'pk': item_properties['permission_id']})
|
||||
except Permission.DoesNotExist:
|
||||
raise Http404
|
||||
|
||||
|
||||
ct = get_object_or_404(ContentType, app_label=item_properties['requester_app_label'], model=item_properties['requester_model'])
|
||||
requester_model = ct.model_class()
|
||||
requester = get_object_or_404(requester_model, pk=item_properties['requester_id'])
|
||||
items.append({'requester': requester, 'permission': permission})
|
||||
|
||||
|
||||
sorted_items = sorted(items, key=operator.itemgetter('requester'))
|
||||
# Group items by requester
|
||||
groups = itertools.groupby(sorted_items, key=operator.itemgetter('requester'))
|
||||
grouped_items = [(grouper, [permission['permission'] for permission in group_data]) for grouper, group_data in groups]
|
||||
|
||||
|
||||
# Warning: trial and error black magic ahead
|
||||
title_suffix = _(u' and ').join([_(u'%(permissions)s to %(requester)s') % {'permissions': ', '.join(['"%s"' % unicode(ps) for ps in p]), 'requester': unicode(r)} for r, p in grouped_items])
|
||||
|
||||
|
||||
if len(grouped_items) == 1 and len(grouped_items[0][1]) == 1:
|
||||
permissions_label = _(u'permission')
|
||||
else:
|
||||
@@ -174,13 +174,13 @@ def permission_grant(request):
|
||||
'permissions_label': permissions_label,
|
||||
'title_suffix': title_suffix,
|
||||
}
|
||||
|
||||
|
||||
if len(grouped_items) == 1:
|
||||
context['object'] = grouped_items[0][0]
|
||||
|
||||
return render_to_response('generic_confirm.html', context,
|
||||
context_instance=RequestContext(request))
|
||||
|
||||
|
||||
|
||||
def permission_revoke(request):
|
||||
Permission.objects.check_permissions(request.user, [PERMISSION_PERMISSION_REVOKE])
|
||||
@@ -197,20 +197,20 @@ def permission_revoke(request):
|
||||
permission = Permission.objects.get({'pk': item_properties['permission_id']})
|
||||
except Permission.DoesNotExist:
|
||||
raise Http404
|
||||
|
||||
|
||||
ct = get_object_or_404(ContentType, app_label=item_properties['requester_app_label'], model=item_properties['requester_model'])
|
||||
requester_model = ct.model_class()
|
||||
requester = get_object_or_404(requester_model, pk=item_properties['requester_id'])
|
||||
items.append({'requester': requester, 'permission': permission})
|
||||
|
||||
|
||||
sorted_items = sorted(items, key=operator.itemgetter('requester'))
|
||||
# Group items by requester
|
||||
groups = itertools.groupby(sorted_items, key=operator.itemgetter('requester'))
|
||||
grouped_items = [(grouper, [permission['permission'] for permission in group_data]) for grouper, group_data in groups]
|
||||
|
||||
|
||||
# Warning: trial and error black magic ahead
|
||||
title_suffix = _(u' and ').join([_(u'%(permissions)s to %(requester)s') % {'permissions': ', '.join(['"%s"' % unicode(ps) for ps in p]), 'requester': unicode(r)} for r, p in grouped_items])
|
||||
|
||||
|
||||
if len(grouped_items) == 1 and len(grouped_items[0][1]) == 1:
|
||||
permissions_label = _(u'permission')
|
||||
else:
|
||||
@@ -238,7 +238,7 @@ def permission_revoke(request):
|
||||
'permissions_label': permissions_label,
|
||||
'title_suffix': title_suffix,
|
||||
}
|
||||
|
||||
|
||||
if len(grouped_items) == 1:
|
||||
context['object'] = grouped_items[0][0]
|
||||
|
||||
@@ -259,7 +259,7 @@ def get_role_members(role, separate=False):
|
||||
user_ct = ContentType.objects.get(model='user')
|
||||
group_ct = ContentType.objects.get(model='group')
|
||||
anonymous = ContentType.objects.get(model='anonymoususersingleton')
|
||||
|
||||
|
||||
users = role.members(filter_dict={'member_type': user_ct})
|
||||
groups = role.members(filter_dict={'member_type': group_ct})
|
||||
anonymous = role.members(filter_dict={'member_type': anonymous})
|
||||
@@ -268,34 +268,34 @@ def get_role_members(role, separate=False):
|
||||
return users, groups, anonymous
|
||||
else:
|
||||
members = []
|
||||
|
||||
|
||||
if users:
|
||||
members.append((_(u'Users'), _as_choice_list(list(users))))
|
||||
|
||||
|
||||
if groups:
|
||||
members.append((_(u'Groups'), _as_choice_list(list(groups))))
|
||||
|
||||
if anonymous:
|
||||
members.append((_(u'Special'), _as_choice_list(list(anonymous))))
|
||||
|
||||
return members
|
||||
return members
|
||||
|
||||
|
||||
def get_non_role_members(role):
|
||||
#non members = all users - members - staff - super users
|
||||
member_users, member_groups, member_anonymous = get_role_members(role, separate=True)
|
||||
|
||||
|
||||
staff_users = User.objects.filter(is_staff=True)
|
||||
super_users = User.objects.filter(is_superuser=True)
|
||||
|
||||
|
||||
users = set(User.objects.all()) - set(member_users) - set(staff_users) - set(super_users)
|
||||
groups = set(Group.objects.all()) - set(member_groups)
|
||||
anonymous = set([AnonymousUserSingleton.objects.get()]) - set(member_anonymous)
|
||||
|
||||
|
||||
non_members = []
|
||||
if users:
|
||||
non_members.append((_(u'Users'), _as_choice_list(list(users))))
|
||||
|
||||
|
||||
if groups:
|
||||
non_members.append((_(u'Groups'), _as_choice_list(list(groups))))
|
||||
|
||||
@@ -303,7 +303,7 @@ def get_non_role_members(role):
|
||||
non_members.append((_(u'Special'), _as_choice_list(list(anonymous))))
|
||||
|
||||
#non_holder_list.append((_(u'Special'), _as_choice_list([AnonymousUserSingleton.objects.get()])))
|
||||
|
||||
|
||||
return non_members
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user