diff --git a/.last-branch b/.last-branch index ed45888..ac23253 100644 --- a/.last-branch +++ b/.last-branch @@ -1 +1 @@ -v20260113-04-edge-initial-setup-users-exist +v20260113-05-reporter-menu-restrict diff --git a/containers/backupchecks/src/backend/app/main/routes_feedback.py b/containers/backupchecks/src/backend/app/main/routes_feedback.py index 256deb0..804a549 100644 --- a/containers/backupchecks/src/backend/app/main/routes_feedback.py +++ b/containers/backupchecks/src/backend/app/main/routes_feedback.py @@ -4,7 +4,7 @@ from .routes_shared import _format_datetime @main_bp.route("/feedback") @login_required -@roles_required("admin", "operator", "viewer") +@roles_required("admin", "operator", "reporter", "viewer") def feedback_page(): item_type = (request.args.get("type") or "").strip().lower() if item_type not in ("", "bug", "feature"): @@ -110,7 +110,7 @@ def feedback_page(): @main_bp.route("/feedback/new", methods=["GET", "POST"]) @login_required -@roles_required("admin", "operator", "viewer") +@roles_required("admin", "operator", "reporter", "viewer") def feedback_new(): if request.method == "POST": item_type = (request.form.get("item_type") or "").strip().lower() @@ -145,7 +145,7 @@ def feedback_new(): @main_bp.route("/feedback/") @login_required -@roles_required("admin", "operator", "viewer") +@roles_required("admin", "operator", "reporter", "viewer") def feedback_detail(item_id: int): item = FeedbackItem.query.get_or_404(item_id) if item.deleted_at is not None: @@ -200,7 +200,7 @@ def feedback_detail(item_id: int): @main_bp.route("/feedback//reply", methods=["POST"]) @login_required -@roles_required("admin", "operator", "viewer") +@roles_required("admin", "operator", "reporter", "viewer") def feedback_reply(item_id: int): item = FeedbackItem.query.get_or_404(item_id) if item.deleted_at is not None: @@ -233,7 +233,7 @@ def feedback_reply(item_id: int): @main_bp.route("/feedback//vote", methods=["POST"]) @login_required -@roles_required("admin", "operator", "viewer") +@roles_required("admin", "operator", "reporter", "viewer") def feedback_vote(item_id: int): item = FeedbackItem.query.get_or_404(item_id) if item.deleted_at is not None: diff --git a/containers/backupchecks/src/templates/layout/base.html b/containers/backupchecks/src/templates/layout/base.html index 80d95d1..e7a4176 100644 --- a/containers/backupchecks/src/templates/layout/base.html +++ b/containers/backupchecks/src/templates/layout/base.html @@ -68,6 +68,17 @@