can_user -> perm, that now check project perm too
This commit is contained in:
parent
805166de05
commit
e603464e6a
3 changed files with 12 additions and 6 deletions
|
@ -18,11 +18,12 @@ class PermissionChecker:
|
|||
|
||||
class PermWrapper:
|
||||
|
||||
def __init__(self, user):
|
||||
def __init__(self, user, project):
|
||||
self.user = user
|
||||
self.project = project
|
||||
|
||||
def __getitem__(self, perm):
|
||||
return self.user.has_perm(perm)
|
||||
return self.user.has_perm(perm, self.project)
|
||||
|
||||
def __iter__(self):
|
||||
raise TypeError("PermWrapper is not iterable.")
|
||||
|
@ -31,6 +32,10 @@ class PermWrapper:
|
|||
return self[perm]
|
||||
|
||||
|
||||
def can_user(request):
|
||||
wrapper = PermWrapper(request.user)
|
||||
return {'can_user': wrapper}
|
||||
def perm(request):
|
||||
if hasattr(request, 'project'):
|
||||
project = request.project
|
||||
else:
|
||||
project = None
|
||||
wrapper = PermWrapper(request.user, project)
|
||||
return {'perm': wrapper}
|
||||
|
|
|
@ -60,3 +60,4 @@ class ProjectMiddleware:
|
|||
else:
|
||||
return login_required(view)(request, *view_args, **view_kwargs)
|
||||
view_kwargs['project'] = project
|
||||
request.project = project
|
||||
|
|
|
@ -114,7 +114,7 @@ TEMPLATE_CONTEXT_PROCESSORS = (
|
|||
'django.contrib.auth.context_processors.auth',
|
||||
'django.core.context_processors.request',
|
||||
'issue.context_processors.projects',
|
||||
'issue.context_processors.can_user',
|
||||
'issue.context_processors.perm',
|
||||
)
|
||||
|
||||
AUTHENTICATION_BACKENDS = (
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue