diff --git a/app/models/tag.rb b/app/models/tag.rb index 41522da38..bdaaba300 100644 --- a/app/models/tag.rb +++ b/app/models/tag.rb @@ -692,6 +692,12 @@ class Tag < ActiveRecord::Base q = q.joins("LEFT JOIN wiki_pages ON tags.name = wiki_pages.title").where("wiki_pages.title IS NULL") end + if params[:has_artist] == "yes" + q = q.joins("INNER JOIN artists ON tags.name = artists.name").where("artists.is_active = true") + elsif params[:has_artist] == "no" + q = q.joins("LEFT JOIN artists ON tags.name = artists.name").where("artists.name IS NULL OR artists.is_active = false") + end + params[:order] ||= params.delete(:sort) case params[:order] when "name" diff --git a/app/views/tags/_search.html.erb b/app/views/tags/_search.html.erb index c2fd9772b..1fc0ae8c0 100644 --- a/app/views/tags/_search.html.erb +++ b/app/views/tags/_search.html.erb @@ -47,6 +47,15 @@ + + + +
+ <%= select "search", "has_artist", ["yes", "no"], :selected => params[:search][:has_artist], :include_blank => true %> +
+ + + <%= submit_tag "Search" %>