diff --git a/aleksis/apps/resint/rules.py b/aleksis/apps/resint/rules.py index 53d2f7aa1cd6bee8a54f66e7f0135b0434897502..2560ef97aab50242fdadb7f637998c671fc3e9e3 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 33f18e2eedf7ee7042767ef35b5368ae95458d61..f16c75fb6e8a9be181f906119cf2c12e3f1e221c 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 38f3bbc4a4131a080e665777191fba10abc0e227..57165a0718f0b841583a5ea4cff36bc9b208c4bb 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>