From 5f746c1a3408625043f06e93594d23aa1caf419c Mon Sep 17 00:00:00 2001 From: BrokenEagle Date: Tue, 21 Jan 2020 01:26:52 +0000 Subject: [PATCH] Made recommended changes to moderator reports (see #4267) --- app/controllers/moderation_reports_controller.rb | 1 - app/javascript/src/styles/base/040_colors.css | 6 ++++++ app/javascript/src/styles/specific/comments.scss | 4 ++-- app/javascript/src/styles/specific/forum.scss | 4 ++-- app/javascript/src/styles/specific/users.scss | 2 +- app/logical/danbooru_maintenance.rb | 1 - app/models/forum_topic.rb | 2 +- app/models/moderation_report.rb | 8 ++++---- app/models/post.rb | 2 +- app/models/user.rb | 2 +- app/views/comments/partials/index/_list.html.erb | 2 +- app/views/forum_posts/_listing.html.erb | 2 +- app/views/users/show.html.erb | 2 +- 13 files changed, 21 insertions(+), 17 deletions(-) diff --git a/app/controllers/moderation_reports_controller.rb b/app/controllers/moderation_reports_controller.rb index 906ff9e36..7ea5e08d1 100644 --- a/app/controllers/moderation_reports_controller.rb +++ b/app/controllers/moderation_reports_controller.rb @@ -17,7 +17,6 @@ class ModerationReportsController < ApplicationController def create check_privilege @moderation_report = ModerationReport.create(moderation_report_params) - @moderation_report.create_forum_post! respond_with(@moderation_report) end diff --git a/app/javascript/src/styles/base/040_colors.css b/app/javascript/src/styles/base/040_colors.css index 860fd1663..9c8bf226a 100644 --- a/app/javascript/src/styles/base/040_colors.css +++ b/app/javascript/src/styles/base/040_colors.css @@ -67,6 +67,9 @@ --forum-vote-meh-color: goldenrod; --forum-vote-down-color: red; + --moderation-report-text-color: red; + --moderation-report-border: 2px solid red; + --comment-sticky-background-color: var(--subnav-menu-background-color); --post-tooltip-background-color: var(--body-background-color); @@ -333,6 +336,9 @@ body[data-current-user-theme="dark"] { --forum-vote-meh-color: var(--yellow-1); --forum-vote-down-color: var(--red-1); + --moderation-report-text-color: var(--red-1); + --moderation-report-border: 2px solid var(--red-1); + --jquery-ui-widget-content-text-color: var(--text-color); --jquery-ui-widget-content-background: var(--grey-2); --jquery-ui-dialog-box-shadow: 0 0 8px var(--grey-1); diff --git a/app/javascript/src/styles/specific/comments.scss b/app/javascript/src/styles/specific/comments.scss index 2415df4ae..5bf5d95f9 100644 --- a/app/javascript/src/styles/specific/comments.scss +++ b/app/javascript/src/styles/specific/comments.scss @@ -4,7 +4,7 @@ div.comments-for-post { div.moderation-comments-notice { margin: 1em 0; font-weight: bold; - color: red; + color: var(--moderation-report-text-color); } div.hidden-comments-notice { @@ -20,7 +20,7 @@ div.comments-for-post { } &[data-is-reported="true"] { - border: solid red; + border: var(--moderation-report-border); } &[data-is-voted="true"] { diff --git a/app/javascript/src/styles/specific/forum.scss b/app/javascript/src/styles/specific/forum.scss index e5ec634e3..686ad6e65 100644 --- a/app/javascript/src/styles/specific/forum.scss +++ b/app/javascript/src/styles/specific/forum.scss @@ -1,12 +1,12 @@ div.list-of-forum-posts { div.moderation-forums-notice { font-weight: bold; - color: red; + color: var(--moderation-report-text-color); } article.forum-post { &[data-is-reported="true"] { - border: solid red; + border: var(--moderation-report-border); } a.voted { diff --git a/app/javascript/src/styles/specific/users.scss b/app/javascript/src/styles/specific/users.scss index 3f5ab44aa..ff90e48ea 100644 --- a/app/javascript/src/styles/specific/users.scss +++ b/app/javascript/src/styles/specific/users.scss @@ -3,7 +3,7 @@ div#c-users { div.moderation-users-notice { margin: 1em 0; font-weight: bold; - color: red; + color: var(--moderation-report-text-color); } div.box { diff --git a/app/logical/danbooru_maintenance.rb b/app/logical/danbooru_maintenance.rb index 7d6ff61a7..c0e349a1b 100644 --- a/app/logical/danbooru_maintenance.rb +++ b/app/logical/danbooru_maintenance.rb @@ -17,7 +17,6 @@ module DanbooruMaintenance safely { TagChangeRequestPruner.warn_all } safely { TagChangeRequestPruner.reject_all } safely { Ban.prune! } - safely { ModerationReport.prune! } safely { CuratedPoolUpdater.update_pool! } safely { ActiveRecord::Base.connection.execute("vacuum analyze") unless Rails.env.test? } end diff --git a/app/models/forum_topic.rb b/app/models/forum_topic.rb index 4383f618d..48aa8dd4d 100644 --- a/app/models/forum_topic.rb +++ b/app/models/forum_topic.rb @@ -184,6 +184,6 @@ class ForumTopic < ApplicationRecord end def viewable_moderation_reports - CurrentUser.is_moderator? ? moderation_reports : [] + CurrentUser.is_moderator? ? moderation_reports.recent : [] end end diff --git a/app/models/moderation_report.rb b/app/models/moderation_report.rb index da987a448..5c75176e5 100644 --- a/app/models/moderation_report.rb +++ b/app/models/moderation_report.rb @@ -2,9 +2,13 @@ class ModerationReport < ApplicationRecord belongs_to :model, polymorphic: true belongs_to_creator + validates :reason, presence: true + after_create :create_forum_post! + scope :user, -> { where(model_type: "User") } scope :comment, -> { where(model_type: "Comment") } scope :forum_post, -> { where(model_type: "ForumPost") } + scope :recent, -> { where("moderation_reports.created_at >= ?", 1.week.ago) } def forum_topic_title "Reports requiring moderation" @@ -54,8 +58,4 @@ class ModerationReport < ApplicationRecord q.apply_default_order(params) end - - def self.prune! - where("created_at < ?", 1.week.ago).delete_all - end end diff --git a/app/models/post.rb b/app/models/post.rb index f93c7309e..cf7b5c254 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -1814,6 +1814,6 @@ class Post < ApplicationRecord end def viewable_moderation_reports - CurrentUser.is_moderator? ? moderation_reports : [] + CurrentUser.is_moderator? ? moderation_reports.recent : [] end end diff --git a/app/models/user.rb b/app/models/user.rb index 0ae440aca..e325e5304 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -814,6 +814,6 @@ class User < ApplicationRecord end def viewable_moderation_reports - !is_moderator? && CurrentUser.is_moderator? ? moderation_reports : [] + CurrentUser.is_moderator? ? moderation_reports.recent : [] end end diff --git a/app/views/comments/partials/index/_list.html.erb b/app/views/comments/partials/index/_list.html.erb index 9a02546eb..20a2f3422 100644 --- a/app/views/comments/partials/index/_list.html.erb +++ b/app/views/comments/partials/index/_list.html.erb @@ -6,7 +6,7 @@ <% if post.viewable_moderation_reports.present? %>
- This post has comments reported for moderation! (<%= post.moderation_reports.length %> <%= (post.moderation_reports.length == 1 ? "report" : "reports") %>) + This post has comments reported for moderation! (<%= pluralize(post.viewable_moderation_reports.length, "report") %>)
<% end %> diff --git a/app/views/forum_posts/_listing.html.erb b/app/views/forum_posts/_listing.html.erb index 778ce0fb1..5bea63030 100644 --- a/app/views/forum_posts/_listing.html.erb +++ b/app/views/forum_posts/_listing.html.erb @@ -7,7 +7,7 @@ <% if moderation_reports.present? %>
- This topic has forum posts reported for moderation! (<%= moderation_reports.length %> <%= (moderation_reports.length == 1 ? "report" : "reports") %>) + This topic has forum posts reported for moderation! (<%= pluralize(moderation_reports.length, "report") %>)
<% end %> diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb index 82ddeccdc..957f8b3f7 100644 --- a/app/views/users/show.html.erb +++ b/app/views/users/show.html.erb @@ -5,7 +5,7 @@ <% if @user.viewable_moderation_reports.present? %>
- This user has been reported for moderation! (<%= @user.moderation_reports.length %> <%= (@user.moderation_reports.length == 1 ? "report" : "reports") %>) + This user has been reported for moderation! (<%= pluralize(@user.viewable_moderation_reports.length, "report") %>)
<% end %>