diff --git a/app/models/artist_version.rb b/app/models/artist_version.rb index 0be013811..25e115a26 100644 --- a/app/models/artist_version.rb +++ b/app/models/artist_version.rb @@ -7,6 +7,10 @@ class ArtistVersion < ActiveRecord::Base where("updater_id = ?", user_id) end + def updater_name(name) + where("updater_id = (select _.id from users _ where lower(_.name) = ?)", name.mb_chars.downcase) + end + def search(params) q = scoped return q if params.blank? @@ -15,6 +19,10 @@ class ArtistVersion < ActiveRecord::Base q = q.where("name like ? escape E'\\\\'", params[:name].to_escaped_for_sql_like) end + if params[:updater_name].present? + q = q.updater_name(params[:updater_name]) + end + if params[:updater_id].present? q = q.for_user(params[:updater_id].to_i) end diff --git a/app/views/artist_versions/_secondary_links.html.erb b/app/views/artist_versions/_secondary_links.html.erb new file mode 100644 index 000000000..617172378 --- /dev/null +++ b/app/views/artist_versions/_secondary_links.html.erb @@ -0,0 +1,7 @@ +<% content_for(:secondary_links) do %> + +
  • <%= link_to "Artists", artists_path %>
  • +
  • <%= link_to "New", new_artist_path %>
  • +
  • <%= link_to "Search", search_artist_versions_path %>
  • +
    +<% end %> diff --git a/app/views/artist_versions/index.html.erb b/app/views/artist_versions/index.html.erb index 515c0d390..6d092e284 100644 --- a/app/views/artist_versions/index.html.erb +++ b/app/views/artist_versions/index.html.erb @@ -51,7 +51,7 @@ -<%= render "artists/secondary_links" %> +<%= render "secondary_links" %> <% content_for(:page_title) do %> Artist Versions - <%= Danbooru.config.app_name %> diff --git a/app/views/artist_versions/search.html.erb b/app/views/artist_versions/search.html.erb new file mode 100644 index 000000000..681a7892f --- /dev/null +++ b/app/views/artist_versions/search.html.erb @@ -0,0 +1,19 @@ +
    + +
    + +<%= render "secondary_links" %> + +<% content_for(:page_title) do %> + Search Artist Changes - <%= Danbooru.config.app_name %> +<% end %> diff --git a/config/routes.rb b/config/routes.rb index f81df5ca0..09690be19 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -63,7 +63,11 @@ Danbooru::Application.routes.draw do get :banned end end - resources :artist_versions, :only => [:index] + resources :artist_versions, :only => [:index] do + collection do + get :search + end + end resources :bans resources :comments do resources :votes, :controller => "comment_votes", :only => [:create, :destroy]