From 3ce9455a604c325dd641c29108483b43433f3da6 Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Mon, 20 Mar 2023 18:06:48 +0100
Subject: [PATCH] Add permission for menu item

---
 CHANGELOG.rst                         | 8 ++++++++
 aleksis/apps/resint/frontend/index.js | 4 +---
 aleksis/apps/resint/rules.py          | 7 +++++++
 3 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index fdb30d4..c7eef45 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -6,6 +6,14 @@ All notable changes to this project will be documented in this file.
 The format is based on `Keep a Changelog`_,
 and this project adheres to `Semantic Versioning`_.
 
+Unreleased
+----------
+
+Fixed
+~~~~~
+
+* Menu item was shown for all users independent of permissions.
+
 `3.0b1` - 2023-03-09
 --------------------
 
diff --git a/aleksis/apps/resint/frontend/index.js b/aleksis/apps/resint/frontend/index.js
index b8b497d..2435a38 100644
--- a/aleksis/apps/resint/frontend/index.js
+++ b/aleksis/apps/resint/frontend/index.js
@@ -1,11 +1,9 @@
-import { hasPersonValidator } from "aleksis.core/routeValidators";
-
 export default {
   meta: {
     inMenu: true,
     titleKey: "resint.menu_title",
     icon: "mdi-open-in-app",
-    validators: [hasPersonValidator],
+    permission: "resint.view_menu_rule",
   },
   children: [
     {
diff --git a/aleksis/apps/resint/rules.py b/aleksis/apps/resint/rules.py
index a30a681..e91f024 100644
--- a/aleksis/apps/resint/rules.py
+++ b/aleksis/apps/resint/rules.py
@@ -140,3 +140,10 @@ delete_live_document_predicate = view_live_documents_predicate & has_global_perm
     "resint.delete_livedocument"
 )
 add_perm("resint.delete_livedocument_rule", delete_live_document_predicate)
+
+
+# View menu
+view_menu_predicate = (
+    view_posters_predicate | view_poster_groups_predicate | view_live_documents_predicate
+)
+add_perm("resint.view_menu_rule", view_menu_predicate)
-- 
GitLab