From d28f9ce30531c0118d1da4d9f76a24dd6cf915ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20B=C3=B6hm?= Date: Wed, 2 Oct 2024 14:34:31 +0200 Subject: [PATCH] Added operate? admin? policy for navbar --- app/policies/application_policy.rb | 8 ++++++++ app/views/layouts/_header.html.erb | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/policies/application_policy.rb b/app/policies/application_policy.rb index ec49b4d..14e0cbc 100644 --- a/app/policies/application_policy.rb +++ b/app/policies/application_policy.rb @@ -12,6 +12,14 @@ class ApplicationPolicy < ActionPolicy::Base deny! unless user.verified? end + def operate? + allow! if user.operator? || user.admin? + end + + def admin? + allow! if user.admin? + end + # Configure additional authorization contexts here # (`user` is added by default). # diff --git a/app/views/layouts/_header.html.erb b/app/views/layouts/_header.html.erb index fe723f3..cf90765 100644 --- a/app/views/layouts/_header.html.erb +++ b/app/views/layouts/_header.html.erb @@ -13,14 +13,14 @@ <%= link_to "Profil", profile_path %> - <% if current_user.admin? %> + <% if allowed_to? :admin?, with: ApplicationPolicy %>
  • <% end %> - <% if current_user.operator? %> + <% if allowed_to? :operate?, with: ApplicationPolicy %>