ProjectMiddleware query project and check permissions
This commit is contained in:
parent
00b8ae612d
commit
98f181ca4f
2 changed files with 30 additions and 30 deletions
|
@ -1,3 +1,7 @@
|
|||
from django.core.exceptions import ObjectDoesNotExist
|
||||
from django.http import HttpResponseForbidden
|
||||
from django.contrib.auth.decorators import login_required
|
||||
|
||||
from issue.models import *
|
||||
|
||||
|
||||
|
@ -10,3 +14,15 @@ class ProjectMiddleware:
|
|||
|
||||
projects = Project.objects.filter(public=True)
|
||||
request.projects = projects
|
||||
|
||||
project = view_kwargs.get('project')
|
||||
if not project:
|
||||
return
|
||||
try:
|
||||
project = projects.get(name=project)
|
||||
except ObjectDoesNotExist:
|
||||
if request.user.is_authenticated():
|
||||
return HttpResponseForbidden()
|
||||
else:
|
||||
return login_required(view)(request, *view_args, **view_kwargs)
|
||||
view_kwargs['project'] = project
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue