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:
|
class PermWrapper:
|
||||||
|
|
||||||
def __init__(self, user):
|
def __init__(self, user, project):
|
||||||
self.user = user
|
self.user = user
|
||||||
|
self.project = project
|
||||||
|
|
||||||
def __getitem__(self, perm):
|
def __getitem__(self, perm):
|
||||||
return self.user.has_perm(perm)
|
return self.user.has_perm(perm, self.project)
|
||||||
|
|
||||||
def __iter__(self):
|
def __iter__(self):
|
||||||
raise TypeError("PermWrapper is not iterable.")
|
raise TypeError("PermWrapper is not iterable.")
|
||||||
|
@ -31,6 +32,10 @@ class PermWrapper:
|
||||||
return self[perm]
|
return self[perm]
|
||||||
|
|
||||||
|
|
||||||
def can_user(request):
|
def perm(request):
|
||||||
wrapper = PermWrapper(request.user)
|
if hasattr(request, 'project'):
|
||||||
return {'can_user': wrapper}
|
project = request.project
|
||||||
|
else:
|
||||||
|
project = None
|
||||||
|
wrapper = PermWrapper(request.user, project)
|
||||||
|
return {'perm': wrapper}
|
||||||
|
|
|
@ -60,3 +60,4 @@ class ProjectMiddleware:
|
||||||
else:
|
else:
|
||||||
return login_required(view)(request, *view_args, **view_kwargs)
|
return login_required(view)(request, *view_args, **view_kwargs)
|
||||||
view_kwargs['project'] = project
|
view_kwargs['project'] = project
|
||||||
|
request.project = project
|
||||||
|
|
|
@ -114,7 +114,7 @@ TEMPLATE_CONTEXT_PROCESSORS = (
|
||||||
'django.contrib.auth.context_processors.auth',
|
'django.contrib.auth.context_processors.auth',
|
||||||
'django.core.context_processors.request',
|
'django.core.context_processors.request',
|
||||||
'issue.context_processors.projects',
|
'issue.context_processors.projects',
|
||||||
'issue.context_processors.can_user',
|
'issue.context_processors.perm',
|
||||||
)
|
)
|
||||||
|
|
||||||
AUTHENTICATION_BACKENDS = (
|
AUTHENTICATION_BACKENDS = (
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue