mod actions: add options to filter /mod_actions by subject.

This commit is contained in:
evazion
2022-09-25 22:48:23 -05:00
parent 3dc765ca9d
commit 17c6a2d77b
8 changed files with 61 additions and 12 deletions

View File

@@ -1,7 +1,11 @@
<%= search_form_for(mod_actions_path) do |f| %>
<%= f.input :creator_name, label: "Creator", input_html: { value: params[:search][:creator_name], data: { autocomplete: "user" } } %>
<%= f.input :description_matches, label: "Description", input_html: { value: params[:search][:description_matches] } %>
<%= f.input :category, label: "Category", collection: ModAction.categories.map {|k,v| [k.capitalize.tr("_"," "), v]}, include_blank: true,selected: params[:search][:category] %>
<% if params[:search][:subject_id].present? && params[:search][:subject_type] %>
<%= f.input :subject_id, label: "#{params[:search][:subject_type].titleize} ID", input_html: { value: params[:search][:subject_id] } %>
<% end %>
<%= f.input :subject_type, label: "Subject", collection: ModAction.model_types.map { |k, v| [k.titleize, k] }, include_blank: true, selected: params[:search][:subject_type] %>
<%= f.input :category, label: "Category", collection: ModAction.categories.map { |k, v| [k.capitalize.tr("_", " "), k] }, include_blank: true, selected: params[:search][:category] %>
<%= f.input :order, collection: [%w[Newest created_at], %w[Oldest created_at_asc]], include_blank: true, selected: params[:search][:order] %>
<%= f.submit "Search" %>
<% end %>

View File

@@ -5,14 +5,14 @@
<%= render "search" %>
<%= table_for @mod_actions, class: "striped autofit" do |t| %>
<% t.column "Message", td: {class: "col-expand"} do |mod_action| %>
<% t.column "Description", td: { class: "col-expand" } do |mod_action| %>
<div class="prose">
<%= link_to_user mod_action.creator %> <%= format_text(mod_action.description.chomp(".").strip, inline: true) %>.
<%= link_to_user mod_action.creator %> <%= format_text(mod_action.description.chomp(".").strip, inline: true, data: @dtext_data) %>.
</div>
<% end %>
<% t.column "Category" do |mod_action| %>
<%= link_to mod_action.category.humanize, mod_actions_path(search: { category: mod_action.category_id }) %>
<%= link_to mod_action.category.humanize, mod_actions_path(search: { category: mod_action.category }) %>
<% end %>
<% t.column "Created" do |mod_action| %>
@@ -20,6 +20,20 @@
<%= link_to "»", mod_actions_path(search: { creator_name: mod_action.creator.name }) %>
<div><%= time_ago_in_words_tagged(mod_action.created_at) %></div>
<% end %>
<% t.column column: :control do |mod_action| %>
<% if mod_action.subject_id.present? %>
<%= render PopupMenuComponent.new do |menu| %>
<% menu.item do %>
<%= link_to "Details", mod_action.subject %>
<% end %>
<% menu.item do %>
<%= link_to "#{mod_action.subject_type.titleize.humanize} history", mod_actions_path(search: { subject_type: mod_action.subject_type, subject_id: mod_action.subject_id }) %>
<% end %>
<% end %>
<% end %>
<% end %>
<% end %>
<%= numbered_paginator(@mod_actions) %>