From 01da0f1e29a26e8e251da502c0e2937741d0e886 Mon Sep 17 00:00:00 2001 From: moanos Date: Wed, 20 Nov 2024 23:22:56 +0100 Subject: [PATCH] feat: add 403 page --- .../templates/fellchensammlung/errors/403.html | 15 +++++++++++++++ src/fellchensammlung/views.py | 5 ++++- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 src/fellchensammlung/templates/fellchensammlung/errors/403.html diff --git a/src/fellchensammlung/templates/fellchensammlung/errors/403.html b/src/fellchensammlung/templates/fellchensammlung/errors/403.html new file mode 100644 index 0000000..639e3c6 --- /dev/null +++ b/src/fellchensammlung/templates/fellchensammlung/errors/403.html @@ -0,0 +1,15 @@ +{% extends "fellchensammlung/base_generic.html" %} +{% load i18n %} +{% load custom_tags %} + +{% block title %}{% translate "403 Forbidden" %}{% endblock %} + +{% block content %} +

403 Forbidden

+

+ {% blocktranslate %} + Diese Aktion ist dir nicht erlaubt. Logge dich ein oder nutze einen anderen Account. Wenn du denkst, dass hier + ein Fehler vorliegt, kontaktiere das Team! + {% endblocktranslate %} +

+{% endblock %} \ No newline at end of file diff --git a/src/fellchensammlung/views.py b/src/fellchensammlung/views.py index 23b7e82..2c91524 100644 --- a/src/fellchensammlung/views.py +++ b/src/fellchensammlung/views.py @@ -475,9 +475,12 @@ def modqueue(request): @login_required def updatequeue(request): - #TODO: Make sure update can only be done for instances with permission if request.method == "POST": adoption_notice = AdoptionNotice.objects.get(id=request.POST.get("adoption_notice_id")) + edit_permission = request.user == adoption_notice.owner or user_is_trust_level_or_above(request.user, + TrustLevel.MODERATOR) + if not edit_permission: + return render(request, "fellchensammlung/errors/403.html", status=403) action = request.POST.get("action") if action == "checked_inactive": adoption_notice.set_closed()