PEP8 cleanups
This commit is contained in:
@@ -7,7 +7,7 @@ from project_setup.api import register_setup
|
||||
|
||||
from .classes import (AccessHolder, AccessObjectClass, ClassAccessHolder,
|
||||
AccessObject)
|
||||
from .permissions import (ACLS_EDIT_ACL, ACLS_VIEW_ACL,
|
||||
from .permissions import (ACLS_EDIT_ACL, ACLS_VIEW_ACL,
|
||||
ACLS_CLASS_EDIT_ACL, ACLS_CLASS_VIEW_ACL)
|
||||
|
||||
|
||||
|
||||
+1
-3
@@ -1,8 +1,6 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
from django.contrib import admin
|
||||
from django.contrib.contenttypes import generic
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
|
||||
from .models import AccessEntry
|
||||
|
||||
@@ -21,5 +19,5 @@ class AccessEntryAdmin(admin.ModelAdmin):
|
||||
list_display = ('pk', 'holder_object', 'permission', 'content_object')
|
||||
list_display_links = ('pk',)
|
||||
model = AccessEntry
|
||||
|
||||
|
||||
admin.site.register(AccessEntry, AccessEntryAdmin)
|
||||
|
||||
+18
-18
@@ -12,13 +12,13 @@ from django.core.exceptions import ObjectDoesNotExist
|
||||
from common.models import AnonymousUserSingleton
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
_cache = {}
|
||||
|
||||
|
||||
class EncapsulatedObject(object):
|
||||
source_object_name = u'source_object'
|
||||
|
||||
|
||||
@classmethod
|
||||
def object_key(cls, app_label=None, model=None, pk=None):
|
||||
if pk:
|
||||
@@ -36,7 +36,7 @@ class EncapsulatedObject(object):
|
||||
@classmethod
|
||||
def set_source_object_name(cls, new_name):
|
||||
cls.source_object_name = new_name
|
||||
|
||||
|
||||
#@classmethod
|
||||
#def encapsulate_list(cls, source_object=None, app_label=None, model=None, pk=None):
|
||||
|
||||
@@ -44,7 +44,7 @@ class EncapsulatedObject(object):
|
||||
def encapsulate(cls, source_object):
|
||||
source_object = AnonymousUserSingleton.objects.passthru_check(source_object)
|
||||
content_type = ContentType.objects.get_for_model(source_object)
|
||||
|
||||
|
||||
if hasattr(source_object, 'pk'):
|
||||
# Object
|
||||
object_key = cls.object_key(content_type.app_label, content_type.model, source_object.pk)
|
||||
@@ -67,9 +67,9 @@ class EncapsulatedObject(object):
|
||||
elif len(elements) == 2:
|
||||
app_label, model = elements[0], elements[1]
|
||||
pk = None
|
||||
|
||||
|
||||
object_key = cls.object_key(*elements)
|
||||
|
||||
|
||||
try:
|
||||
return _cache[object_key]
|
||||
except KeyError:
|
||||
@@ -90,9 +90,9 @@ class EncapsulatedObject(object):
|
||||
raise ObjectDoesNotExist("%s matching query does not exist." % source_object_model_class._meta.object_name)
|
||||
else:
|
||||
source_object = source_object_model_class
|
||||
|
||||
|
||||
return cls.encapsulate(source_object)
|
||||
|
||||
|
||||
def __init__(self, source_object):
|
||||
self.content_type = ContentType.objects.get_for_model(source_object)
|
||||
self.ct_fullname = '%s.%s' % (self.content_type.app_label, self.content_type.name)
|
||||
@@ -101,15 +101,15 @@ class EncapsulatedObject(object):
|
||||
# Class
|
||||
self.gid = '%s.%s' % (self.content_type.app_label, self.content_type.model)
|
||||
else:
|
||||
# Object
|
||||
# Object
|
||||
self.gid = '%s.%s.%s' % (self.content_type.app_label, self.content_type.model, source_object.pk)
|
||||
|
||||
|
||||
setattr(self, self.__class__.source_object_name, source_object)
|
||||
|
||||
def __unicode__(self):
|
||||
if isinstance(self.source_object, ModelBase):
|
||||
return capfirst(unicode(self.source_object._meta.verbose_name_plural))
|
||||
|
||||
|
||||
elif self.ct_fullname == 'auth.user':
|
||||
return u'%s %s' % (self.source_object._meta.verbose_name, self.source_object.get_full_name())
|
||||
else:
|
||||
@@ -117,19 +117,19 @@ class EncapsulatedObject(object):
|
||||
|
||||
def __repr__(self):
|
||||
return self.__unicode__()
|
||||
|
||||
|
||||
@property
|
||||
def source_object(self):
|
||||
return getattr(self, self.__class__.source_object_name, None)
|
||||
|
||||
|
||||
|
||||
|
||||
class AccessHolder(EncapsulatedObject):
|
||||
source_object_name = u'holder_object'
|
||||
|
||||
|
||||
|
||||
|
||||
class AccessObject(EncapsulatedObject):
|
||||
source_object_name = u'obj'
|
||||
|
||||
source_object_name = u'obj'
|
||||
|
||||
|
||||
class AccessObjectClass(EncapsulatedObject):
|
||||
source_object_name = u'cls'
|
||||
|
||||
+25
-23
@@ -8,8 +8,10 @@ from django.utils.translation import ugettext
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.contrib.auth.models import User
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.core.urlresolvers import reverse
|
||||
|
||||
from common.models import AnonymousUserSingleton
|
||||
from permissions.models import Permission
|
||||
|
||||
from .classes import EncapsulatedObject, AccessHolder, ClassAccessHolder
|
||||
|
||||
@@ -22,14 +24,14 @@ class AccessEntryManager(models.Manager):
|
||||
return obj.source_object
|
||||
else:
|
||||
return obj
|
||||
|
||||
|
||||
def grant(self, permission, actor, obj):
|
||||
'''
|
||||
Grant a permission (what), (to) an actor, (on) a specific object
|
||||
'''
|
||||
obj = self.source_object(obj)
|
||||
actor = self.source_object(actor)
|
||||
|
||||
|
||||
access_entry, created = self.model.objects.get_or_create(
|
||||
permission=permission,
|
||||
holder_type=ContentType.objects.get_for_model(actor),
|
||||
@@ -42,7 +44,7 @@ class AccessEntryManager(models.Manager):
|
||||
def revoke(self, permission, actor, obj):
|
||||
'''
|
||||
Revoke a permission (what), (from) an actor, (on) a specific object
|
||||
'''
|
||||
'''
|
||||
obj = self.source_object(obj)
|
||||
actor = self.source_object(actor)
|
||||
|
||||
@@ -57,12 +59,12 @@ class AccessEntryManager(models.Manager):
|
||||
access_entry.delete()
|
||||
return True
|
||||
except self.model.DoesNotExist:
|
||||
return False
|
||||
return False
|
||||
|
||||
def has_access(self, permission, actor, obj):
|
||||
obj = self.source_object(obj)
|
||||
actor = self.source_object(actor)
|
||||
|
||||
|
||||
if isinstance(actor, User):
|
||||
if actor.is_superuser or actor.is_staff:
|
||||
return True
|
||||
@@ -80,7 +82,7 @@ class AccessEntryManager(models.Manager):
|
||||
return True
|
||||
except self.model.DoesNotExist:
|
||||
return False
|
||||
|
||||
|
||||
def check_access(self, permission, actor, obj):
|
||||
obj = self.source_object(obj)
|
||||
actor = self.source_object(actor)
|
||||
@@ -89,7 +91,7 @@ class AccessEntryManager(models.Manager):
|
||||
return True
|
||||
else:
|
||||
raise PermissionDenied(ugettext(u'Insufficient access.'))
|
||||
|
||||
|
||||
def check_accesses(self, permission_list, actor, obj):
|
||||
obj = self.source_object(obj)
|
||||
actor = self.source_object(actor)
|
||||
@@ -101,7 +103,7 @@ class AccessEntryManager(models.Manager):
|
||||
|
||||
def get_allowed_class_objects(self, permission, actor, cls, related=None):
|
||||
logger.debug('related: %s' % related)
|
||||
|
||||
|
||||
actor = AnonymousUserSingleton.objects.passthru_check(actor)
|
||||
actor_type = ContentType.objects.get_for_model(actor)
|
||||
content_type = ContentType.objects.get_for_model(cls)
|
||||
@@ -122,22 +124,22 @@ class AccessEntryManager(models.Manager):
|
||||
def get_new_holder_url(self, obj):
|
||||
content_type = ContentType.objects.get_for_model(obj)
|
||||
return reverse('acl_new_holder_for', args=[content_type.app_label, content_type.model, obj.pk])
|
||||
|
||||
|
||||
def get_holders_for(self, obj):
|
||||
content_type = ContentType.objects.get_for_model(obj)
|
||||
holder_list = []
|
||||
for access_entry in self.model.objects.filter(content_type=content_type, object_id=obj.pk):
|
||||
entry = AccessHolder.encapsulate(access_entry.holder_object)
|
||||
|
||||
|
||||
if entry not in holder_list:
|
||||
holder_list.append(entry)
|
||||
|
||||
|
||||
return holder_list
|
||||
|
||||
def get_holder_permissions_for(self, obj, actor):
|
||||
logger.debug('obj: %s' % obj)
|
||||
logger.debug('actor: %s' % actor)
|
||||
|
||||
|
||||
if isinstance(actor, User):
|
||||
if actor.is_superuser or actor.is_staff:
|
||||
return Permission.objects.all()
|
||||
@@ -149,11 +151,11 @@ class AccessEntryManager(models.Manager):
|
||||
def filter_objects_by_access(self, permission, actor, object_list, exception_on_empty=False, related=None):
|
||||
logger.debug('exception_on_empty: %s' % exception_on_empty)
|
||||
logger.debug('object_list: %s' % object_list)
|
||||
|
||||
|
||||
if isinstance(actor, User):
|
||||
if actor.is_superuser or actor.is_staff:
|
||||
return object_list
|
||||
|
||||
|
||||
try:
|
||||
if object_list.count() == 0:
|
||||
return object_list
|
||||
@@ -161,15 +163,15 @@ class AccessEntryManager(models.Manager):
|
||||
# object_list is not a queryset
|
||||
if len(object_list) == 0:
|
||||
return object_list
|
||||
|
||||
|
||||
try:
|
||||
# Try to process as a QuerySet
|
||||
qs = object_list.filter(pk__in=[obj.pk for obj in self.get_allowed_class_objects(permission, actor, object_list[0].__class__, related)])
|
||||
logger.debug('qs: %s' % qs)
|
||||
|
||||
|
||||
if qs.count() == 0 and exception_on_empty == True:
|
||||
raise PermissionDenied
|
||||
|
||||
|
||||
return qs
|
||||
except AttributeError:
|
||||
# Fallback to a filtered list
|
||||
@@ -190,17 +192,17 @@ class DefaultAccessEntryManager(models.Manager):
|
||||
holder_list = []
|
||||
for access_entry in self.model.objects.filter(content_type=content_type):
|
||||
entry = ClassAccessHolder.encapsulate(access_entry.holder_object)
|
||||
|
||||
|
||||
if entry not in holder_list:
|
||||
holder_list.append(entry)
|
||||
|
||||
|
||||
return holder_list
|
||||
|
||||
def has_access(self, permission, actor, cls):
|
||||
if isinstance(actor, User):
|
||||
if actor.is_superuser or actor.is_staff:
|
||||
return True
|
||||
|
||||
|
||||
try:
|
||||
access_entry = self.model.objects.get(
|
||||
permission=permission.get_stored_permission(),
|
||||
@@ -227,7 +229,7 @@ class DefaultAccessEntryManager(models.Manager):
|
||||
def revoke(self, permission, actor, cls):
|
||||
'''
|
||||
Revoke a permission (what), (from) an actor, (on) a specific class
|
||||
'''
|
||||
'''
|
||||
try:
|
||||
access_entry = self.model.objects.get(
|
||||
permission=permission,
|
||||
@@ -238,13 +240,13 @@ class DefaultAccessEntryManager(models.Manager):
|
||||
access_entry.delete()
|
||||
return True
|
||||
except self.model.DoesNotExist:
|
||||
return False
|
||||
return False
|
||||
|
||||
def get_holder_permissions_for(self, cls, actor):
|
||||
if isinstance(actor, User):
|
||||
if actor.is_superuser or actor.is_staff:
|
||||
return Permission.objects.all()
|
||||
|
||||
|
||||
actor_type = ContentType.objects.get_for_model(actor)
|
||||
content_type = ContentType.objects.get_for_model(cls)
|
||||
return [access.permission for access in self.model.objects.filter(content_type=content_type, holder_type=actor_type, holder_id=actor.pk)]
|
||||
|
||||
+2
-2
@@ -18,7 +18,7 @@ from .api import get_classes
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
|
||||
class AccessEntry(models.Model):
|
||||
"""
|
||||
Model that hold the permission, object, actor relationship
|
||||
@@ -64,7 +64,7 @@ class DefaultAccessEntry(models.Model):
|
||||
@classmethod
|
||||
def get_classes(cls):
|
||||
return [AccessObjectClass.encapsulate(cls) for cls in get_classes()]
|
||||
|
||||
|
||||
permission = models.ForeignKey(StoredPermission, verbose_name=_(u'permission'))
|
||||
|
||||
holder_type = models.ForeignKey(
|
||||
|
||||
@@ -3,7 +3,7 @@ import logging
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.template import (TemplateSyntaxError, Library,
|
||||
Node, Variable, VariableDoesNotExist)
|
||||
|
||||
|
||||
|
||||
from acls.models import AccessEntry
|
||||
|
||||
@@ -33,7 +33,7 @@ class CheckAccessNode(Node):
|
||||
context[u'access'] = False
|
||||
logger.debug('no obj, access False')
|
||||
return u''
|
||||
|
||||
|
||||
if not permission_list:
|
||||
# There is no permissions list to check against which means
|
||||
# this link is available for all
|
||||
|
||||
+2
-2
@@ -5,13 +5,13 @@ urlpatterns = patterns('acls.views',
|
||||
url(r'^list_for/(?P<app_label>[-\w]+)/(?P<model_name>[-\w]+)/(?P<object_id>\d+)/$', 'acl_list', (), 'acl_list'),
|
||||
url(r'^details/(?P<access_object_gid>[.\w]+)/holder/(?P<holder_object_gid>[.\w]+)/$', 'acl_detail', (), 'acl_detail'),
|
||||
url(r'^holder/new/(?P<access_object_gid>[.\w]+)/$', 'acl_holder_new', (), 'acl_holder_new'),
|
||||
|
||||
|
||||
url(r'^multiple/grant/$', 'acl_grant', (), 'acl_multiple_grant'),
|
||||
url(r'^multiple/revoke/$', 'acl_revoke', (), 'acl_multiple_revoke'),
|
||||
|
||||
url(r'^class/$', 'acl_setup_valid_classes', (), 'acl_setup_valid_classes'),
|
||||
url(r'^class/details/(?P<access_object_class_gid>[.\w]+)/holder/(?P<holder_object_gid>[.\w]+)/$', 'acl_class_acl_detail', (), 'acl_class_acl_detail'),
|
||||
url(r'^class/list_for/(?P<access_object_class_gid>[.\w]+)/$', 'acl_class_acl_list', (), 'acl_class_acl_list'),
|
||||
url(r'^class/list_for/(?P<access_object_class_gid>[.\w]+)/$', 'acl_class_acl_list', (), 'acl_class_acl_list'),
|
||||
url(r'^class/holder/new/(?P<access_object_class_gid>[.\w]+)/$', 'acl_class_new_holder_for', (), 'acl_class_new_holder_for'),
|
||||
|
||||
url(r'^class/multiple/grant/$', 'acl_class_multiple_grant', (), 'acl_class_multiple_grant'),
|
||||
|
||||
+44
-44
@@ -22,7 +22,7 @@ from permissions.models import Permission, Role
|
||||
from common.utils import generate_choices_w_labels, encapsulate
|
||||
from common.widgets import two_state_template
|
||||
|
||||
from .permissions import (ACLS_EDIT_ACL, ACLS_VIEW_ACL,
|
||||
from .permissions import (ACLS_EDIT_ACL, ACLS_VIEW_ACL,
|
||||
ACLS_CLASS_EDIT_ACL, ACLS_CLASS_VIEW_ACL)
|
||||
from .models import AccessEntry, DefaultAccessEntry
|
||||
from .classes import (AccessHolder, AccessObject, AccessObjectClass,
|
||||
@@ -36,8 +36,8 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
def _permission_titles(permission_list):
|
||||
return u', '.join([unicode(permission) for permission in permission_list])
|
||||
|
||||
|
||||
|
||||
|
||||
def acl_list_for(request, obj, extra_context=None):
|
||||
try:
|
||||
Permission.objects.check_permissions(request.user, [ACLS_VIEW_ACL])
|
||||
@@ -60,14 +60,14 @@ def acl_list_for(request, obj, extra_context=None):
|
||||
'navigation_object_list': [
|
||||
{'object': 'object'},
|
||||
{'object': 'access_object'}
|
||||
],
|
||||
],
|
||||
}
|
||||
|
||||
if extra_context:
|
||||
context.update(extra_context)
|
||||
|
||||
return render_to_response('generic_list.html', context,
|
||||
context_instance=RequestContext(request))
|
||||
context_instance=RequestContext(request))
|
||||
|
||||
|
||||
def acl_list(request, app_label, model_name, object_id):
|
||||
@@ -90,10 +90,10 @@ def acl_detail_for(request, actor, obj):
|
||||
try:
|
||||
Permission.objects.check_permissions(request.user, [ACLS_VIEW_ACL])
|
||||
except PermissionDenied:
|
||||
AccessEntry.objects.check_accesses([ACLS_VIEW_ACL], actor, obj)
|
||||
AccessEntry.objects.check_accesses([ACLS_VIEW_ACL], actor, obj)
|
||||
|
||||
permission_list = get_class_permissions_for(obj)
|
||||
|
||||
|
||||
#TODO : get all globally assigned permission, new function get_permissions_for_holder (roles aware)
|
||||
subtemplates_list = [
|
||||
{
|
||||
@@ -139,7 +139,7 @@ def acl_detail_for(request, actor, obj):
|
||||
context,
|
||||
context_instance=RequestContext(request)
|
||||
)
|
||||
|
||||
|
||||
|
||||
def acl_grant(request):
|
||||
items_property_list = loads(request.GET.get('items_property_list', []))
|
||||
@@ -152,13 +152,13 @@ def acl_grant(request):
|
||||
title_suffix = []
|
||||
navigation_object = None
|
||||
navigation_object_count = 0
|
||||
|
||||
|
||||
for item_properties in items_property_list:
|
||||
try:
|
||||
permission = Permission.objects.get({'pk': item_properties['permission_pk']})
|
||||
except Permission.DoesNotExist:
|
||||
raise Http404
|
||||
|
||||
raise Http404
|
||||
|
||||
try:
|
||||
requester = AccessHolder.get(gid=item_properties['holder_gid'])
|
||||
access_object = AccessObject.get(gid=item_properties['object_gid'])
|
||||
@@ -184,13 +184,13 @@ def acl_grant(request):
|
||||
items[requester][access_object].append(permission)
|
||||
navigation_object = access_object
|
||||
navigation_object_count += 1
|
||||
|
||||
|
||||
for requester, obj_ps in items.items():
|
||||
for obj, ps in obj_ps.items():
|
||||
title_suffix.append(_(u', ').join([u'"%s"' % unicode(p) for p in ps]))
|
||||
title_suffix.append(_(u' for %s') % obj)
|
||||
title_suffix.append(_(u' to %s') % requester)
|
||||
|
||||
|
||||
if len(items_property_list) == 1:
|
||||
title_prefix = _(u'Are you sure you wish to grant the permission %(title_suffix)s?')
|
||||
else:
|
||||
@@ -225,7 +225,7 @@ def acl_grant(request):
|
||||
context['title'] = title_prefix % {
|
||||
'title_suffix': u''.join(title_suffix),
|
||||
}
|
||||
|
||||
|
||||
logger.debug('navigation_object_count: %d' % navigation_object_count)
|
||||
logger.debug('navigation_object: %s' % navigation_object)
|
||||
if navigation_object_count == 1:
|
||||
@@ -251,21 +251,21 @@ def acl_revoke(request):
|
||||
try:
|
||||
permission = Permission.objects.get({'pk': item_properties['permission_pk']})
|
||||
except Permission.DoesNotExist:
|
||||
raise Http404
|
||||
raise Http404
|
||||
|
||||
try:
|
||||
requester = AccessHolder.get(gid=item_properties['holder_gid'])
|
||||
access_object = AccessObject.get(gid=item_properties['object_gid'])
|
||||
except ObjectDoesNotExist:
|
||||
raise Http404
|
||||
|
||||
|
||||
try:
|
||||
Permission.objects.check_permissions(request.user, [ACLS_EDIT_ACL])
|
||||
except PermissionDenied:
|
||||
try:
|
||||
AccessEntry.objects.check_access(ACLS_EDIT_ACL, request.user, access_object)
|
||||
except PermissionDenied:
|
||||
raise
|
||||
raise
|
||||
else:
|
||||
items.setdefault(requester, {})
|
||||
items[requester].setdefault(access_object, [])
|
||||
@@ -277,14 +277,14 @@ def acl_revoke(request):
|
||||
items[requester].setdefault(access_object, [])
|
||||
items[requester][access_object].append(permission)
|
||||
navigation_object = access_object
|
||||
navigation_object_count += 1
|
||||
|
||||
navigation_object_count += 1
|
||||
|
||||
for requester, obj_ps in items.items():
|
||||
for obj, ps in obj_ps.items():
|
||||
title_suffix.append(_(u', ').join([u'"%s"' % unicode(p) for p in ps]))
|
||||
title_suffix.append(_(u' for %s') % obj)
|
||||
title_suffix.append(_(u' from %s') % requester)
|
||||
|
||||
|
||||
if len(items_property_list) == 1:
|
||||
title_prefix = _(u'Are you sure you wish to revoke the permission %(title_suffix)s?')
|
||||
else:
|
||||
@@ -319,7 +319,7 @@ def acl_revoke(request):
|
||||
context['title'] = title_prefix % {
|
||||
'title_suffix': u''.join(title_suffix),
|
||||
}
|
||||
|
||||
|
||||
logger.debug('navigation_object_count: %d' % navigation_object_count)
|
||||
logger.debug('navigation_object: %s' % navigation_object)
|
||||
if navigation_object_count == 1:
|
||||
@@ -349,7 +349,7 @@ def acl_new_holder_for(request, obj, extra_context=None, navigation_object=None)
|
||||
reverse('acl_detail', args=[access_object.gid, access_holder.gid]),
|
||||
urlencode(query_string)
|
||||
)
|
||||
)
|
||||
)
|
||||
except ObjectDoesNotExist:
|
||||
raise Http404
|
||||
else:
|
||||
@@ -365,12 +365,12 @@ def acl_new_holder_for(request, obj, extra_context=None, navigation_object=None)
|
||||
'navigation_object_list': [
|
||||
{'object': 'object'},
|
||||
{'object': 'access_object'},
|
||||
],
|
||||
],
|
||||
}
|
||||
|
||||
|
||||
if extra_context:
|
||||
context.update(extra_context)
|
||||
|
||||
|
||||
return render_to_response('generic_form.html', context,
|
||||
context_instance=RequestContext(request))
|
||||
|
||||
@@ -399,12 +399,12 @@ def acl_setup_valid_classes(request):
|
||||
}
|
||||
|
||||
return render_to_response('generic_list.html', context,
|
||||
context_instance=RequestContext(request))
|
||||
context_instance=RequestContext(request))
|
||||
|
||||
|
||||
def acl_class_acl_list(request, access_object_class_gid):
|
||||
Permission.objects.check_permissions(request.user, [ACLS_CLASS_VIEW_ACL])
|
||||
|
||||
|
||||
access_object_class = AccessObjectClass.get(gid=access_object_class_gid)
|
||||
context = {
|
||||
'object_list': DefaultAccessEntry.objects.get_holders_for(access_object_class.source_object),
|
||||
@@ -419,7 +419,7 @@ def acl_class_acl_list(request, access_object_class_gid):
|
||||
}
|
||||
|
||||
return render_to_response('generic_list.html', context,
|
||||
context_instance=RequestContext(request))
|
||||
context_instance=RequestContext(request))
|
||||
|
||||
|
||||
def acl_class_acl_detail(request, access_object_class_gid, holder_object_gid):
|
||||
@@ -429,7 +429,7 @@ def acl_class_acl_detail(request, access_object_class_gid, holder_object_gid):
|
||||
access_object_class = AccessObjectClass.get(gid=access_object_class_gid)
|
||||
except ObjectDoesNotExist:
|
||||
raise Http404
|
||||
|
||||
|
||||
#permission_list = list(access_object_class.get_class_permissions())
|
||||
permission_list = get_class_permissions_for(access_object_class.content_type.model_class())
|
||||
#TODO : get all globally assigned permission, new function get_permissions_for_holder (roles aware)
|
||||
@@ -464,9 +464,9 @@ def acl_class_acl_detail(request, access_object_class_gid, holder_object_gid):
|
||||
'permission_pk': lambda x: x.pk,
|
||||
'holder_gid': lambda x: actor.gid,
|
||||
'access_object_class_gid': lambda x: access_object_class.gid,
|
||||
},
|
||||
},
|
||||
}, context_instance=RequestContext(request))
|
||||
|
||||
|
||||
|
||||
def acl_class_new_holder_for(request, access_object_class_gid):
|
||||
Permission.objects.check_permissions(request.user, [ACLS_CLASS_EDIT_ACL])
|
||||
@@ -489,11 +489,11 @@ def acl_class_new_holder_for(request, access_object_class_gid):
|
||||
'title': _(u'add new holder for class: %s') % unicode(access_object_class),
|
||||
'object': access_object_class,
|
||||
'submit_label': _(u'Select'),
|
||||
'submit_icon_famfam': 'tick'
|
||||
'submit_icon_famfam': 'tick'
|
||||
}
|
||||
|
||||
|
||||
return render_to_response('generic_form.html', context,
|
||||
context_instance=RequestContext(request))
|
||||
context_instance=RequestContext(request))
|
||||
|
||||
|
||||
def acl_class_multiple_grant(request):
|
||||
@@ -513,25 +513,25 @@ def acl_class_multiple_grant(request):
|
||||
try:
|
||||
permission = Permission.objects.get({'pk': item_properties['permission_pk']})
|
||||
except Permission.DoesNotExist:
|
||||
raise Http404
|
||||
raise Http404
|
||||
try:
|
||||
requester = AccessHolder.get(gid=item_properties['holder_gid'])
|
||||
access_object_class = AccessObjectClass.get(gid=item_properties['access_object_class_gid'])
|
||||
except ObjectDoesNotExist:
|
||||
raise Http404
|
||||
|
||||
|
||||
items.setdefault(requester, {})
|
||||
items[requester].setdefault(access_object_class, [])
|
||||
items[requester][access_object_class].append(permission)
|
||||
navigation_object = access_object_class
|
||||
navigation_object_count += 1
|
||||
|
||||
|
||||
for requester, obj_ps in items.items():
|
||||
for obj, ps in obj_ps.items():
|
||||
title_suffix.append(_(u', ').join([u'"%s"' % unicode(p) for p in ps]))
|
||||
title_suffix.append(_(u' for %s') % obj)
|
||||
title_suffix.append(_(u' to %s') % requester)
|
||||
|
||||
|
||||
if len(items_property_list) == 1:
|
||||
title_prefix = _(u'Are you sure you wish to grant the permission %(title_suffix)s?')
|
||||
else:
|
||||
@@ -566,7 +566,7 @@ def acl_class_multiple_grant(request):
|
||||
context['title'] = title_prefix % {
|
||||
'title_suffix': u''.join(title_suffix),
|
||||
}
|
||||
|
||||
|
||||
logger.debug('navigation_object_count: %d' % navigation_object_count)
|
||||
logger.debug('navigation_object: %s' % navigation_object)
|
||||
if navigation_object_count == 1:
|
||||
@@ -593,25 +593,25 @@ def acl_class_multiple_revoke(request):
|
||||
try:
|
||||
permission = Permission.objects.get({'pk': item_properties['permission_pk']})
|
||||
except Permission.DoesNotExist:
|
||||
raise Http404
|
||||
raise Http404
|
||||
try:
|
||||
requester = AccessHolder.get(gid=item_properties['holder_gid'])
|
||||
access_object_class = AccessObjectClass.get(gid=item_properties['access_object_class_gid'])
|
||||
except ObjectDoesNotExist:
|
||||
raise Http404
|
||||
|
||||
|
||||
items.setdefault(requester, {})
|
||||
items[requester].setdefault(access_object_class, [])
|
||||
items[requester][access_object_class].append(permission)
|
||||
navigation_object = access_object_class
|
||||
navigation_object_count += 1
|
||||
|
||||
|
||||
for requester, obj_ps in items.items():
|
||||
for obj, ps in obj_ps.items():
|
||||
title_suffix.append(_(u', ').join([u'"%s"' % unicode(p) for p in ps]))
|
||||
title_suffix.append(_(u' for %s') % obj)
|
||||
title_suffix.append(_(u' from %s') % requester)
|
||||
|
||||
|
||||
if len(items_property_list) == 1:
|
||||
title_prefix = _(u'Are you sure you wish to revoke the permission %(title_suffix)s?')
|
||||
else:
|
||||
@@ -646,7 +646,7 @@ def acl_class_multiple_revoke(request):
|
||||
context['title'] = title_prefix % {
|
||||
'title_suffix': u''.join(title_suffix),
|
||||
}
|
||||
|
||||
|
||||
logger.debug('navigation_object_count: %d' % navigation_object_count)
|
||||
logger.debug('navigation_object: %s' % navigation_object)
|
||||
if navigation_object_count == 1:
|
||||
|
||||
Reference in New Issue
Block a user