From 1573dcf23e898f0e83127069c0dd0afd9fc6414a Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Wed, 14 Jul 2021 12:40:14 +0200
Subject: [PATCH] Use correct permissions in templates

---
 aleksis/apps/resint/rules.py                          | 11 ++++++++---
 aleksis/apps/resint/templates/resint/group/list.html  |  6 +++---
 aleksis/apps/resint/templates/resint/poster/list.html |  2 +-
 3 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/aleksis/apps/resint/rules.py b/aleksis/apps/resint/rules.py
index 53d2f7a..2560ef9 100644
--- a/aleksis/apps/resint/rules.py
+++ b/aleksis/apps/resint/rules.py
@@ -25,10 +25,7 @@ def has_poster_group_object_perm(perm: str):
 
 def permission_validator(request: HttpRequest, perm: str, obj) -> bool:
     """Check whether the request user has a permission."""
-    print("Am I executed?")
     if request.user:
-        print("And I", request, request.user, perm, obj)
-        print(request.user.has_perm(perm, obj))
         return request.user.has_perm(perm, obj)
     return False
 
@@ -81,6 +78,14 @@ upload_poster_predicate = view_posters_predicate & (
 )  # FIXME FIlter on form
 add_perm("resint.upload_poster_rule", upload_poster_predicate)
 
+# Edit poster
+edit_poster_predicate = view_posters_predicate & (
+    has_global_perm("resint.change_poster")
+    | has_object_perm("resint.change_poster")
+    | has_poster_group_object_perm("resint.change_poster_of_group")
+)
+add_perm("resint.edit_poster_rule", edit_poster_predicate)
+
 # Delete poster
 delete_poster_predicate = view_posters_predicate & (
     has_global_perm("resint.delete_poster")
diff --git a/aleksis/apps/resint/templates/resint/group/list.html b/aleksis/apps/resint/templates/resint/group/list.html
index 33f18e2..f16c75f 100644
--- a/aleksis/apps/resint/templates/resint/group/list.html
+++ b/aleksis/apps/resint/templates/resint/group/list.html
@@ -4,7 +4,7 @@
 {% block browser_title %}{% blocktrans %}Poster groups{% endblocktrans %}{% endblock %}
 
 {% block content %}
-  {% has_perm "resint.add_postergroup" user as can_add_poster_group %}
+  {% has_perm "resint.add_postergroup_rule" user as can_add_poster_group %}
   {% if can_add_poster_group %}
     <a class="waves-effect waves-light btn green modal-trigger right" href="{% url "create_poster_group" %}">
       <i class="material-icons left">add</i>{% blocktrans %}Create new poster group{% endblocktrans %}
@@ -41,7 +41,7 @@
           </a>
         </td>
         <td>
-          {% has_perm "resint.edit_postergroup" user poster_group as can_edit_poster_group %}
+          {% has_perm "resint.edit_postergroup_rule" user poster_group as can_edit_poster_group %}
           {% if can_edit_poster_group %}
             <a href="{% url 'edit_poster_group' poster_group.id %}"
                class="waves-effect waves-light btn-flat orange-text">
@@ -50,7 +50,7 @@
             </a>
           {% endif %}
 
-          {% has_perm "resint.delete_postergroup" user poster_group as can_delete_poster_group %}
+          {% has_perm "resint.delete_postergroup_rule" user poster_group as can_delete_poster_group %}
           {% if can_delete_poster_group %}
             <a href="{% url 'delete_poster_group' poster_group.id %}"
                class="waves-effect waves-light btn-flat red-text">
diff --git a/aleksis/apps/resint/templates/resint/poster/list.html b/aleksis/apps/resint/templates/resint/poster/list.html
index 38f3bbc..57165a0 100644
--- a/aleksis/apps/resint/templates/resint/poster/list.html
+++ b/aleksis/apps/resint/templates/resint/poster/list.html
@@ -47,7 +47,7 @@
     {% endfor %}
   </div>
 
-  {% has_perm "resint.upload_poster" user as can_upload_poster %}
+  {% has_perm "resint.upload_poster_rule" user as can_upload_poster %}
   {% if can_upload_poster %}
     <a class="waves-effect waves-light btn green right" href="{% url "poster_upload" %}">
       <i class="material-icons left">add</i>
-- 
GitLab