add artist version search

This commit is contained in:
Toks
2013-05-17 14:46:00 -04:00
parent 2b427273b2
commit c250501bc4
5 changed files with 40 additions and 2 deletions

View File

@@ -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

View File

@@ -0,0 +1,7 @@
<% content_for(:secondary_links) do %>
<menu>
<li><%= link_to "Artists", artists_path %></li>
<li><%= link_to "New", new_artist_path %></li>
<li><%= link_to "Search", search_artist_versions_path %></li>
</menu>
<% end %>

View File

@@ -51,7 +51,7 @@
</div>
</div>
<%= render "artists/secondary_links" %>
<%= render "secondary_links" %>
<% content_for(:page_title) do %>
Artist Versions - <%= Danbooru.config.app_name %>

View File

@@ -0,0 +1,19 @@
<div id="c-artist-versions">
<div id="a-search">
<h1>Search Changes</h1>
<div id="search">
<%= form_tag(artist_versions_path, :method => :get, :class => "simple_form") do %>
<%= search_field "updater_name", :label => "User" %>
<%= search_field "name", :label => "Name" %>
<%= submit_tag "Search" %>
<% end %>
</div>
</div>
</div>
<%= render "secondary_links" %>
<% content_for(:page_title) do %>
Search Artist Changes - <%= Danbooru.config.app_name %>
<% end %>

View File

@@ -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]