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

View file

@ -1,6 +1,6 @@
from django.core.exceptions import ImproperlyConfigured from django.core.exceptions import ImproperlyConfigured
from django.core.exceptions import ObjectDoesNotExist 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.contrib.auth.decorators import login_required
from django.db.models import Q from django.db.models import Q
@ -56,7 +56,7 @@ class ProjectMiddleware:
project = projects.get(name=project) project = projects.get(name=project)
except ObjectDoesNotExist: except ObjectDoesNotExist:
if request.user.is_authenticated(): if request.user.is_authenticated():
return HttpResponseForbidden() raise PermissionDenied()
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

View file

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