diff --git a/app/controllers/moderations_controller.rb b/app/controllers/moderations_controller.rb
index 143b6ff5c..ee12749ef 100644
--- a/app/controllers/moderations_controller.rb
+++ b/app/controllers/moderations_controller.rb
@@ -10,7 +10,7 @@ class ModerationsController < ApplicationController
def index
skip_authorization
- return unless current_user&.trusted
+ return unless current_user&.trusted?
articles = Article.published
.order(published_at: :desc).limit(70)
diff --git a/app/decorators/user_decorator.rb b/app/decorators/user_decorator.rb
index f7fe8c581..3d044583b 100644
--- a/app/decorators/user_decorator.rb
+++ b/app/decorators/user_decorator.rb
@@ -55,7 +55,7 @@ class UserDecorator < ApplicationDecorator
body_class = [
setting.config_theme.tr("_", "-"),
"#{setting.resolved_font_name.tr('_', '-')}-article-body",
- "trusted-status-#{trusted}",
+ "trusted-status-#{trusted?}",
"#{setting.config_navbar.tr('_', '-')}-header",
]
body_class.join(" ")
diff --git a/app/models/rating_vote.rb b/app/models/rating_vote.rb
index 11ee932d1..adc41f2ea 100644
--- a/app/models/rating_vote.rb
+++ b/app/models/rating_vote.rb
@@ -22,7 +22,7 @@ class RatingVote < ApplicationRecord
end
def permissions
- return unless context == "explicit" && !user&.trusted && user_id != article&.user_id
+ return if user == article&.user || user&.trusted? || context != "explicit"
errors.add(:user_id, "is not permitted to take this action.")
end
diff --git a/app/models/user.rb b/app/models/user.rb
index 836214d9d..09227fc4e 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -483,7 +483,7 @@ class User < ApplicationRecord
end
def auditable?
- trusted || tag_moderator? || any_admin?
+ trusted? || tag_moderator? || any_admin?
end
def tag_moderator?
diff --git a/app/views/admin/articles/_individual_article.html.erb b/app/views/admin/articles/_individual_article.html.erb
index 1a95c6520..a549ff81f 100644
--- a/app/views/admin/articles/_individual_article.html.erb
+++ b/app/views/admin/articles/_individual_article.html.erb
@@ -82,7 +82,7 @@
<% cache "admin-user-info-#{article.user_id}-#{article.user&.updated_at}", expires_in: 4.hours do %>
- <% if article.user&.warned %>
+ <% if article.user&.warned? %>
USER WARNED
<% end %>
diff --git a/app/views/moderations/index.html.erb b/app/views/moderations/index.html.erb
index 3d8404ce1..f9d45e9d3 100644
--- a/app/views/moderations/index.html.erb
+++ b/app/views/moderations/index.html.erb
@@ -4,7 +4,7 @@
-<% if current_user&.trusted %>
+<% if current_user&.trusted? %>
<%= render "moderations/mod_sidebar_left" %>
diff --git a/spec/decorators/user_decorator_spec.rb b/spec/decorators/user_decorator_spec.rb
index e720d17bf..54d0cae10 100644
--- a/spec/decorators/user_decorator_spec.rb
+++ b/spec/decorators/user_decorator_spec.rb
@@ -109,7 +109,7 @@ RSpec.describe UserDecorator, type: :decorator do
it "creates proper body class with defaults" do
expected_result = %W[
light-theme sans-serif-article-body
- trusted-status-#{user.trusted} #{user.setting.config_navbar}-header
+ trusted-status-#{user.trusted?} #{user.setting.config_navbar}-header
].join(" ")
expect(user.decorate.config_body_class).to eq(expected_result)
end
@@ -118,7 +118,7 @@ RSpec.describe UserDecorator, type: :decorator do
user.setting.config_font = "sans_serif"
expected_result = %W[
light-theme sans-serif-article-body
- trusted-status-#{user.trusted} #{user.setting.config_navbar}-header
+ trusted-status-#{user.trusted?} #{user.setting.config_navbar}-header
].join(" ")
expect(user.decorate.config_body_class).to eq(expected_result)
end
@@ -127,7 +127,7 @@ RSpec.describe UserDecorator, type: :decorator do
user.setting.config_theme = "dark_theme"
expected_result = %W[
dark-theme sans-serif-article-body
- trusted-status-#{user.trusted} #{user.setting.config_navbar}-header
+ trusted-status-#{user.trusted?} #{user.setting.config_navbar}-header
].join(" ")
expect(user.decorate.config_body_class).to eq(expected_result)
end
@@ -136,7 +136,7 @@ RSpec.describe UserDecorator, type: :decorator do
user.setting.config_navbar = "static"
expected_result = %W[
light-theme sans-serif-article-body
- trusted-status-#{user.trusted} static-header
+ trusted-status-#{user.trusted?} static-header
].join(" ")
expect(user.decorate.config_body_class).to eq(expected_result)
end
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb
index 19d9e551d..f7cb56b56 100644
--- a/spec/models/user_spec.rb
+++ b/spec/models/user_spec.rb
@@ -612,7 +612,7 @@ RSpec.describe User, type: :model do
it "creates proper body class with defaults" do
# rubocop:disable Layout/LineLength
- classes = "light-theme sans-serif-article-body trusted-status-#{user.trusted} #{user.setting.config_navbar}-header"
+ classes = "light-theme sans-serif-article-body trusted-status-#{user.trusted?} #{user.setting.config_navbar}-header"
# rubocop:enable Layout/LineLength
expect(user.decorate.config_body_class).to eq(classes)
end
@@ -621,7 +621,7 @@ RSpec.describe User, type: :model do
user.setting.config_font = "sans_serif"
# rubocop:disable Layout/LineLength
- classes = "light-theme sans-serif-article-body trusted-status-#{user.trusted} #{user.setting.config_navbar}-header"
+ classes = "light-theme sans-serif-article-body trusted-status-#{user.trusted?} #{user.setting.config_navbar}-header"
# rubocop:enable Layout/LineLength
expect(user.decorate.config_body_class).to eq(classes)
end
@@ -630,7 +630,7 @@ RSpec.describe User, type: :model do
user.setting.config_font = "open_dyslexic"
# rubocop:disable Layout/LineLength
- classes = "light-theme open-dyslexic-article-body trusted-status-#{user.trusted} #{user.setting.config_navbar}-header"
+ classes = "light-theme open-dyslexic-article-body trusted-status-#{user.trusted?} #{user.setting.config_navbar}-header"
# rubocop:enable Layout/LineLength
expect(user.decorate.config_body_class).to eq(classes)
end
@@ -638,7 +638,8 @@ RSpec.describe User, type: :model do
it "creates proper body class with dark theme" do
user.setting.config_theme = "dark_theme"
- classes = "dark-theme sans-serif-article-body trusted-status-#{user.trusted} #{user.setting.config_navbar}-header"
+ classes =
+ "dark-theme sans-serif-article-body trusted-status-#{user.trusted?} #{user.setting.config_navbar}-header"
expect(user.decorate.config_body_class).to eq(classes)
end
end
@@ -801,7 +802,7 @@ RSpec.describe User, type: :model do
end
end
- describe "#trusted" do
+ describe "#trusted?" do
it "memoizes the result from rolify" do
allow(Rails.cache)
.to receive(:fetch)
@@ -809,7 +810,7 @@ RSpec.describe User, type: :model do
.and_return(false)
.once
- 2.times { user.trusted }
+ 2.times { user.trusted? }
end
end
diff --git a/spec/requests/admin/tags/moderators_spec.rb b/spec/requests/admin/tags/moderators_spec.rb
index 04d2940e6..884449e40 100644
--- a/spec/requests/admin/tags/moderators_spec.rb
+++ b/spec/requests/admin/tags/moderators_spec.rb
@@ -11,7 +11,7 @@ RSpec.describe "/admin/content_manager/tags/:id/moderator", type: :request do
it "adds the given user as trusted and as a tag moderator" do
post admin_tag_moderator_path(tag.id), params: { tag_id: tag.id, tag: { user_id: user.id } }
expect(user.tag_moderator?).to be true
- expect(user.trusted).to be true
+ expect(user.trusted?).to be true
end
end
@@ -29,7 +29,7 @@ RSpec.describe "/admin/content_manager/tags/:id/moderator", type: :request do
it "does not remove the trusted role from the user" do
delete admin_tag_moderator_path(tag.id), params: { tag_id: tag.id, tag: { user_id: user.id } }
- expect(user.trusted).to be true
+ expect(user.trusted?).to be true
end
end
end