HttpResponseForbidden -> PermissionDenied

Thi is necessary to properly render 403 template.
This commit is contained in:
Élie Bouttier 2014-08-17 11:37:35 -07:00
parent 298aae7cb6
commit fef9be27cd
3 changed files with 10 additions and 10 deletions

View file

@ -1,7 +1,7 @@
from functools import wraps
from django.contrib.auth.decorators import login_required
from django.http import HttpResponseForbidden
from django.core.exceptions import PermissionDenied
from issue.models import Project
@ -18,7 +18,7 @@ def project_perm_required(perm):
if request.user.has_perm(perm, project):
return view(request, *args, **kwargs)
elif request.user.is_authenticated():
return HttpResponseForbidden()
raise PermissionDenied()
else:
return login_required(view)(request, *args, **kwargs)
return wrapper

View file

@ -1,6 +1,6 @@
from django.core.exceptions import ImproperlyConfigured
from django.core.exceptions import ObjectDoesNotExist
from django.http import HttpResponseForbidden
from django.core.exceptions import PermissionDenied
from django.contrib.auth.decorators import login_required
from django.db.models import Q
@ -56,7 +56,7 @@ class ProjectMiddleware:
project = projects.get(name=project)
except ObjectDoesNotExist:
if request.user.is_authenticated():
return HttpResponseForbidden()
raise PermissionDenied()
else:
return login_required(view)(request, *view_args, **view_kwargs)
view_kwargs['project'] = project

View file

@ -1,8 +1,8 @@
from django.shortcuts import render, redirect, get_object_or_404
from django.contrib import messages
from django.core.exceptions import ObjectDoesNotExist
from django.core.exceptions import ObjectDoesNotExist, PermissionDenied
from django.contrib.auth.decorators import login_required
from django.http import Http404, HttpResponseForbidden
from django.http import Http404
from django.views.decorators.http import require_http_methods
from issue.models import *
@ -358,13 +358,13 @@ def issue_edit(request, project, issue=None):
if issue:
if not request.user.has_perm('modify_issue', project):
return HttpResponseForbidden()
raise PermissionDenied()
issue = get_object_or_404(Issue, project=project.name, id=issue)
init_data = {'title': issue.title,
'description': issue.description}
else:
if not request.user.has_perm('create_issue', project):
return HttpResponseForbidden()
raise PermissionDenied()
issue = None
init_data = None
@ -450,13 +450,13 @@ def issue_edit_comment(request, project, issue, comment=None):
if comment:
if not request.user.has_perm('modify_comment', project):
return HttpResponseForbidden()
raise PermissionDenied()
event = get_object_or_404(Event, code=Event.COMMENT,
issue=issue, id=comment)
init_data = {'comment': event.additionnal_section}
else:
if not request.user.has_perm('create_comment', project):
return HttpResponseForbidden()
raise PermisisonDenied()
event = None
init_data = None