Improve acl tag logic

This commit is contained in:
Roberto Rosario
2011-12-20 02:31:01 -04:00
parent fed62fb3c3
commit 0fa3a07a73

View File

@@ -25,21 +25,25 @@ class CheckAccessNode(Node):
context[u'access'] = True
return u''
requester = Variable(self.requester).resolve(context)
if not permission_list or not obj:
if not permission_list:
# There is no permissions list to check against which means
# this link is available for all
context[u'access'] = True
return u''
try:
AccessEntry.objects.check_accesses(permission_list, requester, obj)
except PermissionDenied:
context[u'access'] = False
return u''
requester = Variable(self.requester).resolve(context)
if obj:
try:
AccessEntry.objects.check_accesses(permission_list, requester, obj)
except PermissionDenied:
context[u'access'] = False
return u''
else:
context[u'access'] = True
return u''
else:
context[u'access'] = True
context[u'access'] = False
return u''