From c70d3f759c5a8f35441a236c7f20c64559190301 Mon Sep 17 00:00:00 2001 From: Jeremy Friesen Date: Fri, 11 Feb 2022 09:10:54 -0500 Subject: [PATCH] Renaming policy methods for consistency (#16523) Our domain of "admin?" method names is already a bit confounding. The policy methods renamed the existing Policy::Authorizer methods, and further obfuscated and confused intention. This refactor aligns the policy methods with the Policy::Authorizer methods. It is a non-breaking change, but one that may add warnings in the logs. If you see those, resolve them per instructions. Related to #16483 --- app/policies/admin_policy.rb | 4 ++-- app/policies/application_policy.rb | 16 +++++++--------- app/policies/article_policy.rb | 8 ++++---- app/policies/comment_policy.rb | 4 ++-- app/policies/discussion_lock_policy.rb | 2 +- app/policies/html_variant_policy.rb | 2 +- app/policies/response_template_policy.rb | 4 ++-- app/policies/tag_policy.rb | 4 ++-- app/policies/user_policy.rb | 4 ++-- 9 files changed, 23 insertions(+), 25 deletions(-) diff --git a/app/policies/admin_policy.rb b/app/policies/admin_policy.rb index a25ea6b70..28f29e9a6 100644 --- a/app/policies/admin_policy.rb +++ b/app/policies/admin_policy.rb @@ -1,9 +1,9 @@ class AdminPolicy < ApplicationPolicy def show? - user_admin? + user_super_admin? end def minimal? - minimal_admin? + user_any_admin? end end diff --git a/app/policies/application_policy.rb b/app/policies/application_policy.rb index 62ea66a5c..13d05c2db 100644 --- a/app/policies/application_policy.rb +++ b/app/policies/application_policy.rb @@ -92,17 +92,15 @@ class ApplicationPolicy end end - def minimal_admin? - user.any_admin? - end - - def user_admin? - user.super_admin? - end - delegate :support_admin?, to: :user - delegate :suspended?, to: :user, prefix: true + delegate :super_admin?, :any_admin?, :suspended?, to: :user, prefix: true + + alias minimal_admin? user_any_admin? + deprecate minimal_admin?: "Deprecating #{self}#minimal_admin?, use #{self}#user_any_admin?" + + alias user_admin? user_super_admin? + deprecate minimal_admin?: "Deprecating #{self}#user_admin?, use #{self}#user_super_admin?" def user_trusted? user.has_trusted_role? diff --git a/app/policies/article_policy.rb b/app/policies/article_policy.rb index c8c569d81..5db02b0cb 100644 --- a/app/policies/article_policy.rb +++ b/app/policies/article_policy.rb @@ -13,11 +13,11 @@ class ArticlePolicy < ApplicationPolicy end def update? - user_author? || user_admin? || user_org_admin? || minimal_admin? + user_author? || user_super_admin? || user_org_admin? || user_any_admin? end def admin_unpublish? - minimal_admin? + user_any_admin? end def new? @@ -41,7 +41,7 @@ class ArticlePolicy < ApplicationPolicy alias preview? new? def stats? - user_author? || user_admin? || user_org_admin? + user_author? || user_super_admin? || user_org_admin? end def permitted_attributes @@ -52,7 +52,7 @@ class ArticlePolicy < ApplicationPolicy end def subscriptions? - user_author? || user_admin? + user_author? || user_super_admin? end private diff --git a/app/policies/comment_policy.rb b/app/policies/comment_policy.rb index 368d36f21..133fafbe7 100644 --- a/app/policies/comment_policy.rb +++ b/app/policies/comment_policy.rb @@ -22,7 +22,7 @@ class CommentPolicy < ApplicationPolicy end def moderator_create? - user_moderator? || minimal_admin? + user_moderator? || user_any_admin? end def hide? @@ -32,7 +32,7 @@ class CommentPolicy < ApplicationPolicy alias unhide? hide? def admin_delete? - minimal_admin? + user_any_admin? end def permitted_attributes_for_update diff --git a/app/policies/discussion_lock_policy.rb b/app/policies/discussion_lock_policy.rb index 3f05b36cb..1445fe305 100644 --- a/app/policies/discussion_lock_policy.rb +++ b/app/policies/discussion_lock_policy.rb @@ -2,7 +2,7 @@ class DiscussionLockPolicy < ApplicationPolicy PERMITTED_ATTRIBUTES = %i[article_id notes reason].freeze def create? - (user_author? || minimal_admin?) && !user_suspended? + (user_author? || user_any_admin?) && !user_suspended? end alias destroy? create? diff --git a/app/policies/html_variant_policy.rb b/app/policies/html_variant_policy.rb index 9fcfe7ee1..28a013368 100644 --- a/app/policies/html_variant_policy.rb +++ b/app/policies/html_variant_policy.rb @@ -1,6 +1,6 @@ class HtmlVariantPolicy < ApplicationPolicy def index? - minimal_admin? + user_any_admin? end alias show? minimal_admin? diff --git a/app/policies/response_template_policy.rb b/app/policies/response_template_policy.rb index 3c48254ae..1ad24eea4 100644 --- a/app/policies/response_template_policy.rb +++ b/app/policies/response_template_policy.rb @@ -6,7 +6,7 @@ class ResponseTemplatePolicy < ApplicationPolicy end def admin_index? - minimal_admin? + user_any_admin? end def moderator_index? @@ -41,7 +41,7 @@ class ResponseTemplatePolicy < ApplicationPolicy end def user_moderator? - minimal_admin? || user.moderator_for_tags&.present? + user_any_admin? || user.moderator_for_tags&.present? end def mod_comment? diff --git a/app/policies/tag_policy.rb b/app/policies/tag_policy.rb index ae9c735b8..82c66df6f 100644 --- a/app/policies/tag_policy.rb +++ b/app/policies/tag_policy.rb @@ -10,13 +10,13 @@ class TagPolicy < ApplicationPolicy alias update? edit? def admin? - user_admin? + user_super_admin? end private def has_mod_permission? - user_admin? || + user_super_admin? || user.tag_moderator?(tag: record) end end diff --git a/app/policies/user_policy.rb b/app/policies/user_policy.rb index 49467fc9b..88497598a 100644 --- a/app/policies/user_policy.rb +++ b/app/policies/user_policy.rb @@ -81,11 +81,11 @@ class UserPolicy < ApplicationPolicy alias remove_identity? edit? def dashboard_show? - current_user? || user_admin? || minimal_admin? + current_user? || user_super_admin? || user_any_admin? end def moderation_routes? - (user.has_trusted_role? || minimal_admin?) && !user.suspended? + (user.has_trusted_role? || user_any_admin?) && !user.suspended? end alias update_password? edit?