From 78f1d0f69af60a1f1148dc6cedcff0f5f00f58a5 Mon Sep 17 00:00:00 2001 From: albert Date: Thu, 21 Feb 2013 12:42:41 -0500 Subject: [PATCH] fixes to user search --- app/controllers/advertisements_controller.rb | 2 +- app/controllers/artist_versions_controller.rb | 2 +- app/controllers/artists_controller.rb | 2 +- app/controllers/bans_controller.rb | 2 +- app/controllers/dmails_controller.rb | 2 +- app/controllers/forum_posts_controller.rb | 2 +- app/controllers/forum_topics_controller.rb | 2 +- app/controllers/ip_bans_controller.rb | 2 +- app/controllers/janitor_trials_controller.rb | 2 +- app/controllers/news_updates_controller.rb | 2 +- app/controllers/notes_controller.rb | 2 +- app/controllers/pools_controller.rb | 2 +- app/controllers/post_appeals_controller.rb | 2 +- app/controllers/post_flags_controller.rb | 2 +- app/controllers/tag_subscriptions_controller.rb | 2 +- app/controllers/users_controller.rb | 2 +- .../wiki_page_versions_controller.rb | 2 +- app/controllers/wiki_pages_controller.rb | 2 +- app/models/artist.rb | 6 ++++++ app/models/artist_version.rb | 6 ++++++ app/models/user.rb | 17 +++++++++-------- app/views/artist_versions/index.html.erb | 4 ++-- app/views/artists/search.html.erb | 5 +++++ app/views/users/search.html.erb | 4 ++-- 24 files changed, 48 insertions(+), 30 deletions(-) diff --git a/app/controllers/advertisements_controller.rb b/app/controllers/advertisements_controller.rb index bae259d8f..922324af7 100644 --- a/app/controllers/advertisements_controller.rb +++ b/app/controllers/advertisements_controller.rb @@ -13,7 +13,7 @@ class AdvertisementsController < ApplicationController end def index - @advertisements = Advertisement.all + @advertisements = Advertisement.order("id desc").all @start_date = 1.month.ago.to_date @end_date = Date.today end diff --git a/app/controllers/artist_versions_controller.rb b/app/controllers/artist_versions_controller.rb index a92dd97d1..b47316805 100644 --- a/app/controllers/artist_versions_controller.rb +++ b/app/controllers/artist_versions_controller.rb @@ -2,7 +2,7 @@ class ArtistVersionsController < ApplicationController respond_to :html, :xml, :json def index - @artist_versions = ArtistVersion.search(params[:search]).paginate(params[:page]) + @artist_versions = ArtistVersion.search(params[:search]).order("id desc").paginate(params[:page]) respond_with(@artist_versions) end end diff --git a/app/controllers/artists_controller.rb b/app/controllers/artists_controller.rb index 41dcec6f8..d690fbf12 100644 --- a/app/controllers/artists_controller.rb +++ b/app/controllers/artists_controller.rb @@ -18,7 +18,7 @@ class ArtistsController < ApplicationController end def index - @artists = Artist.search(params[:search]).paginate(params[:page]) + @artists = Artist.search(params[:search]).order("id desc").paginate(params[:page]) respond_with(@artists) do |format| format.xml do render :xml => @artists.to_xml(:include => [:urls]) diff --git a/app/controllers/bans_controller.rb b/app/controllers/bans_controller.rb index 862df3e98..c5c9ed402 100644 --- a/app/controllers/bans_controller.rb +++ b/app/controllers/bans_controller.rb @@ -10,7 +10,7 @@ class BansController < ApplicationController end def index - @search = Ban.search(params[:search]) + @search = Ban.search(params[:search]).order("id desc") @bans = @search.paginate(params[:page]) end diff --git a/app/controllers/dmails_controller.rb b/app/controllers/dmails_controller.rb index be3141019..a164631ab 100644 --- a/app/controllers/dmails_controller.rb +++ b/app/controllers/dmails_controller.rb @@ -15,7 +15,7 @@ class DmailsController < ApplicationController def index @search = Dmail.visible.search(params[:search]) - @dmails = @search.paginate(params[:page]).order("dmails.created_at desc") + @dmails = @search.order("dmails.created_at desc").paginate(params[:page]) respond_with(@dmails) end diff --git a/app/controllers/forum_posts_controller.rb b/app/controllers/forum_posts_controller.rb index a566ba9a7..30edd5690 100644 --- a/app/controllers/forum_posts_controller.rb +++ b/app/controllers/forum_posts_controller.rb @@ -17,7 +17,7 @@ class ForumPostsController < ApplicationController def index @search = ForumPost.active.search(params[:search]) - @forum_posts = @search.paginate(params[:page]).order("forum_posts.id DESC") + @forum_posts = @search.order("forum_posts.id DESC").paginate(params[:page]) respond_with(@forum_posts) end diff --git a/app/controllers/forum_topics_controller.rb b/app/controllers/forum_topics_controller.rb index b7d079325..e1180efc5 100644 --- a/app/controllers/forum_topics_controller.rb +++ b/app/controllers/forum_topics_controller.rb @@ -19,7 +19,7 @@ class ForumTopicsController < ApplicationController def index @search = ForumTopic.active.search(params[:search]) - @forum_topics = @search.paginate(params[:page]).order("is_sticky DESC, updated_at DESC") + @forum_topics = @search.order("is_sticky DESC, updated_at DESC").paginate(params[:page]) respond_with(@forum_topics) end diff --git a/app/controllers/ip_bans_controller.rb b/app/controllers/ip_bans_controller.rb index 303ec3291..0cd904c06 100644 --- a/app/controllers/ip_bans_controller.rb +++ b/app/controllers/ip_bans_controller.rb @@ -12,7 +12,7 @@ class IpBansController < ApplicationController def index @search = IpBan.search(params[:search]) - @ip_bans = @search.paginate(params[:page]) + @ip_bans = @search.order("id desc").paginate(params[:page]) end def destroy diff --git a/app/controllers/janitor_trials_controller.rb b/app/controllers/janitor_trials_controller.rb index 60633893a..d96bc7ec2 100644 --- a/app/controllers/janitor_trials_controller.rb +++ b/app/controllers/janitor_trials_controller.rb @@ -14,7 +14,7 @@ class JanitorTrialsController < ApplicationController def index @search = JanitorTrial.search(params[:search]) - @janitor_trials = @search.paginate(params[:page]) + @janitor_trials = @search.order("id desc").paginate(params[:page]) respond_with(@janitor_trials) end diff --git a/app/controllers/news_updates_controller.rb b/app/controllers/news_updates_controller.rb index 3680066e2..6e88c509a 100644 --- a/app/controllers/news_updates_controller.rb +++ b/app/controllers/news_updates_controller.rb @@ -3,7 +3,7 @@ class NewsUpdatesController < ApplicationController respond_to :html def index - @news_updates = NewsUpdate.paginate(params[:page]) + @news_updates = NewsUpdate.order("id desc").paginate(params[:page]) respond_with(@news_updates) end diff --git a/app/controllers/notes_controller.rb b/app/controllers/notes_controller.rb index 995c66d48..92269b6fe 100644 --- a/app/controllers/notes_controller.rb +++ b/app/controllers/notes_controller.rb @@ -64,7 +64,7 @@ private def index_by_note @search = Note.search(params[:search]) - @notes = @search.paginate(params[:page]) + @notes = @search.order("id desc").paginate(params[:page]) respond_with(@notes) do |format| format.html {render :action => "index_by_note"} end diff --git a/app/controllers/pools_controller.rb b/app/controllers/pools_controller.rb index 086e9a30d..31e283732 100644 --- a/app/controllers/pools_controller.rb +++ b/app/controllers/pools_controller.rb @@ -16,7 +16,7 @@ class PoolsController < ApplicationController def index @search = Pool.active.search(params[:search]) - @pools = @search.paginate(params[:page]).order("updated_at desc") + @pools = @search.order("updated_at desc").paginate(params[:page]) respond_with(@pools) end diff --git a/app/controllers/post_appeals_controller.rb b/app/controllers/post_appeals_controller.rb index 567f0adfe..602598209 100644 --- a/app/controllers/post_appeals_controller.rb +++ b/app/controllers/post_appeals_controller.rb @@ -9,7 +9,7 @@ class PostAppealsController < ApplicationController end def index - @search = PostAppeal.search(params[:search]).order("id desc") + @search = PostAppeal.order("id desc").search(params[:search]) @post_appeals = @search.paginate(params[:page]) end diff --git a/app/controllers/post_flags_controller.rb b/app/controllers/post_flags_controller.rb index 57275d0ef..b3028ac17 100644 --- a/app/controllers/post_flags_controller.rb +++ b/app/controllers/post_flags_controller.rb @@ -9,7 +9,7 @@ class PostFlagsController < ApplicationController end def index - @search = PostFlag.search(params[:search]).order("id desc") + @search = PostFlag.order("id desc").search(params[:search]) @post_flags = @search.paginate(params[:page]) end diff --git a/app/controllers/tag_subscriptions_controller.rb b/app/controllers/tag_subscriptions_controller.rb index 209e429e8..e8f19c2af 100644 --- a/app/controllers/tag_subscriptions_controller.rb +++ b/app/controllers/tag_subscriptions_controller.rb @@ -16,7 +16,7 @@ class TagSubscriptionsController < ApplicationController def index @user = CurrentUser.user - @search = TagSubscription.owned_by(@user).search(params[:search]) + @search = TagSubscription.owned_by(@user).order("name").search(params[:search]) @tag_subscriptions = @search.paginate(params[:page]) respond_with(@tag_subscriptions) end diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 9ac40154a..ed2a263bc 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -16,7 +16,7 @@ class UsersController < ApplicationController def index @search = User.search(params[:search]) - @users = @search.paginate(params[:page]).order("users.name") + @users = @search.order("users.id desc").paginate(params[:page]) respond_with(@users) end diff --git a/app/controllers/wiki_page_versions_controller.rb b/app/controllers/wiki_page_versions_controller.rb index 935895ecf..c90c25d56 100644 --- a/app/controllers/wiki_page_versions_controller.rb +++ b/app/controllers/wiki_page_versions_controller.rb @@ -3,7 +3,7 @@ class WikiPageVersionsController < ApplicationController def index @search = WikiPageVersion.search(params[:search]) - @wiki_page_versions = @search.paginate(params[:page]) + @wiki_page_versions = @search.order("id desc").paginate(params[:page]) respond_with(@wiki_page_versions) end diff --git a/app/controllers/wiki_pages_controller.rb b/app/controllers/wiki_pages_controller.rb index b0eb63220..c726a29c1 100644 --- a/app/controllers/wiki_pages_controller.rb +++ b/app/controllers/wiki_pages_controller.rb @@ -16,7 +16,7 @@ class WikiPagesController < ApplicationController def index @search = WikiPage.search(params[:search]) - @wiki_pages = @search.paginate(params[:page]) + @wiki_pages = @search.order("id desc").paginate(params[:page]) respond_with(@wiki_pages) do |format| format.html do if @wiki_pages.count == 1 diff --git a/app/models/artist.rb b/app/models/artist.rb index e0ecc2019..82020c563 100644 --- a/app/models/artist.rb +++ b/app/models/artist.rb @@ -258,6 +258,12 @@ class Artist < ActiveRecord::Base when /./ q = q.any_name_matches(params[:name]) end + + if params[:sort] == "Name" + q = q.reorder("name") + else + q = q.reorder("id desc") + end if params[:id].present? q = q.where("id = ?", params[:id]) diff --git a/app/models/artist_version.rb b/app/models/artist_version.rb index 6d28e3afc..8d4d24798 100644 --- a/app/models/artist_version.rb +++ b/app/models/artist_version.rb @@ -14,6 +14,12 @@ class ArtistVersion < ActiveRecord::Base 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 diff --git a/app/models/user.rb b/app/models/user.rb index 386ee0b92..8e081c541 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -220,7 +220,8 @@ class User < ActiveRecord::Base def level_hash return { "Member" => Levels::MEMBER, - "Privileged" => Levels::PRIVILEGED, + "Gold" => Levels::PRIVILEGED, + "Platinum" => Levels::PLATINUM, "Builder" => Levels::BUILDER, "Contributor" => Levels::CONTRIBUTOR, "Janitor" => Levels::JANITOR, @@ -427,13 +428,13 @@ class User < ActiveRecord::Base def favorite_limit return nil - if is_privileged? - 20_000 - elsif is_platinum? - nil - else - 4_000 - end + # if is_privileged? + # 20_000 + # elsif is_platinum? + # nil + # else + # 4_000 + # end end end diff --git a/app/views/artist_versions/index.html.erb b/app/views/artist_versions/index.html.erb index 90b84b199..e8b4aed93 100644 --- a/app/views/artist_versions/index.html.erb +++ b/app/views/artist_versions/index.html.erb @@ -18,7 +18,7 @@ <% @artist_versions.each do |artist_version| %> - <%= link_to h(artist_version.name), artist_versions_path(:artist_id => artist_version.artist_id) %> + <%= link_to h(artist_version.name), artist_versions_path(:search => {:artist_id => artist_version.artist_id}) %> <%= h artist_version.other_names %> <%= h artist_version.group_name %> <%= time_ago_in_words_tagged artist_version.created_at %> @@ -31,7 +31,7 @@ - <%= sequential_paginator(@artist_versions) %> + <%= numbered_paginator(@artist_versions, :count => (params[:search].present? ? nil : 1_000_000)) %> diff --git a/app/views/artists/search.html.erb b/app/views/artists/search.html.erb index 0c01fa15e..8680277d9 100644 --- a/app/views/artists/search.html.erb +++ b/app/views/artists/search.html.erb @@ -9,6 +9,11 @@ <%= text_field "search", "name" %>

You can search on any name or URL

+ +
+ + <%= select "search", "sort", ["Date", "Name"] %> +
<%= submit_tag "Search" %> <% end %> diff --git a/app/views/users/search.html.erb b/app/views/users/search.html.erb index fbaf8f9a5..143229f3f 100644 --- a/app/views/users/search.html.erb +++ b/app/views/users/search.html.erb @@ -4,8 +4,8 @@ <%= search_field "name_matches", :label => "Name" %>
- - <%= select("search", "min_level", User.level_hash.to_a) %> + + <%= select("search", "level", [""] + User.level_hash.to_a) %>
<%= submit_tag "Search" %>