diff --git a/app/models/mod_action.rb b/app/models/mod_action.rb index 57c58a828..b76d896d8 100644 --- a/app/models/mod_action.rb +++ b/app/models/mod_action.rb @@ -54,6 +54,14 @@ class ModAction < ApplicationRecord q = q.where("creator_id = ?", params[:creator_id].to_i) end + if params[:creator_name].present? + q = q.where("creator_id = (select _.id from users _ where lower(_.name) = ?)", params[:creator_name].mb_chars.downcase) + end + + if params[:category].present? + q = q.attribute_matches(:category, params[:category]) + end + q end diff --git a/app/views/mod_actions/_search.html.erb b/app/views/mod_actions/_search.html.erb new file mode 100644 index 000000000..035041fc3 --- /dev/null +++ b/app/views/mod_actions/_search.html.erb @@ -0,0 +1,5 @@ +<%= simple_form_for(:search, method: :get, url: mod_actions_path, defaults: { required: false }, html: { class: "inline-form" }) do |f| %> + <%= f.input :creator_name, label: "Creator", input_html: { value: params[:search][:creator_name] } %> + <%= f.input :category, label: "Category", collection: ModAction.categories.map {|k,v| [k.capitalize.tr("_"," "), v]}, include_blank: true,selected: params[:search][:category] %> + <%= f.submit "Search" %> +<% end %> diff --git a/app/views/mod_actions/index.html.erb b/app/views/mod_actions/index.html.erb index 32f30d5ef..6dc39dd1f 100644 --- a/app/views/mod_actions/index.html.erb +++ b/app/views/mod_actions/index.html.erb @@ -1,6 +1,9 @@

Mod Actions

+ + <%= render "search" %> +