From a3c06044af617de068638e2fab00b8b7432357d6 Mon Sep 17 00:00:00 2001 From: Toks Date: Sun, 14 Apr 2013 18:16:55 -0400 Subject: [PATCH] reorganize artist version search methods --- app/models/artist.rb | 2 +- app/models/artist_version.rb | 42 +++++++++++++++++++++++------------- 2 files changed, 28 insertions(+), 16 deletions(-) diff --git a/app/models/artist.rb b/app/models/artist.rb index 8ebf07d8b..dd5514b61 100644 --- a/app/models/artist.rb +++ b/app/models/artist.rb @@ -254,7 +254,7 @@ class Artist < ActiveRecord::Base q = q.any_name_matches(params[:name]) end - if params[:sort] == "Name" + if params[:sort] == "name" q = q.reorder("name") else q = q.reorder("id desc") diff --git a/app/models/artist_version.rb b/app/models/artist_version.rb index 0bd3b40a3..c0e1dc2f4 100644 --- a/app/models/artist_version.rb +++ b/app/models/artist_version.rb @@ -2,27 +2,39 @@ class ArtistVersion < ActiveRecord::Base belongs_to :updater, :class_name => "User" belongs_to :artist - def self.search(params) - q = scoped - return q if params.blank? - - if params[:name] - q = q.where("name like ? escape E'\\\\'", params[:name].to_escaped_for_sql_like) + module SearchMethods + def for_user(user_id) + where("updater_id = ?", user_id) end - if params[:artist_id] - q = q.where("artist_id = ?", params[:artist_id].to_i) - end + def search(params) + q = scoped + return q if params.blank? - if params[:sort] == "Name" - q = q.reorder("name") - else - q = q.reorder("id desc") - end + if params[:name].present? + q = q.where("name like ? escape E'\\\\'", params[:name].to_escaped_for_sql_like) + end - q + if params[:updater_id].present? + q = q.for_user(params[:updater_id].to_i) + end + + if params[:artist_id].present? + q = q.where("artist_id = ?", params[:artist_id].to_i) + end + + if params[:sort] == "name" + q = q.reorder("name") + else + q = q.reorder("id desc") + end + + q + end end + extend SearchMethods + def url_array url_string.to_s.scan(/\S+/) end