diff --git a/app/controllers/internal/mods_controller.rb b/app/controllers/internal/mods_controller.rb index 6f433aade..05cc921a1 100644 --- a/app/controllers/internal/mods_controller.rb +++ b/app/controllers/internal/mods_controller.rb @@ -3,11 +3,11 @@ class Internal::ModsController < Internal::ApplicationController def index @mods = if params[:state] == "tag" - User.with_role(:tag_moderator, :any).page(params[:page]).per(50) + User.with_role(:tag_moderator, :any).page(params[:page]).per(50).includes(:notes) elsif params[:state] == "potential" - User.order("comments_count DESC").page(params[:page]).per(100) + User.order("comments_count DESC").page(params[:page]).per(100).includes(:notes) else - User.with_role(:trusted).page(params[:page]).per(50) + User.with_role(:trusted).page(params[:page]).per(50).includes(:notes) end @mods = @mods.where("users.username ILIKE :search OR users.name ILIKE :search", search: "%#{params[:search]}%") if params[:search].present? end diff --git a/app/labor/assign_tag_moderator.rb b/app/labor/assign_tag_moderator.rb index b27efb3e0..3b8ada559 100644 --- a/app/labor/assign_tag_moderator.rb +++ b/app/labor/assign_tag_moderator.rb @@ -1,6 +1,7 @@ module AssignTagModerator def self.add_trusted_role(user) return if user.has_role?(:trusted) + return if user.has_role?(:banned) user.add_role :trusted user.update(email_community_mod_newsletter: true) diff --git a/app/views/internal/mods/index.html.erb b/app/views/internal/mods/index.html.erb index ece9f92e4..5a4a5f432 100644 --- a/app/views/internal/mods/index.html.erb +++ b/app/views/internal/mods/index.html.erb @@ -23,23 +23,25 @@ <%= paginate @mods %> -
+
ID
-
Username
+
Profile
Comments
Badges
+
Last Comment
<% if params[:state] == "potential" %>
Action
<% end %>
<% @mods.each do |user| %> -
-
<%= user.id %>
-
@<%= user.username %>
+
+
<%= user.id %>
+
@<%= user.username %>
<%= user.comments_count %>
<%= user.badge_achievements_count %>
+
<%= time_ago_in_words user.last_comment_at %> ago
<% if params[:state] == "potential" && !user.trusted %> -
+
<%= form_for([:internal, user], url: "/internal/mods/#{user.id}", method: :patch) do |f| %> <%#= f.hidden_field :id, value: user.id %> <%= f.submit "Make Trusted Mod" %> @@ -47,5 +49,38 @@
<% end %>
+ <% if user.notes.any? %> +
+ <%= pluralize user.notes.size, "Note" %> +
    + <% user.notes.each do |note| %> +
  • + <%= note.reason %>: <%= note.content %> —<%= note.created_at.strftime("%B %e, %Y") %> +
  • + <% end %> +
+
+ <% end %> <% end %> <%= paginate @mods %> +

+ + diff --git a/app/views/layouts/internal.html.erb b/app/views/layouts/internal.html.erb index 7b8dc06d9..1a38bed3b 100644 --- a/app/views/layouts/internal.html.erb +++ b/app/views/layouts/internal.html.erb @@ -119,6 +119,10 @@ border: 20px solid black; } + .highlighted-no-border { + background: #2effa8 !important; + } + .highlighted-border { border: 20px solid black; }