ProjectMiddleware query project and check permissions

This commit is contained in:
Élie Bouttier 2014-08-07 13:30:51 -07:00
parent 00b8ae612d
commit 98f181ca4f
2 changed files with 30 additions and 30 deletions

View file

@ -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