diff --git a/app/assets/javascripts/wiki_pages.js b/app/assets/javascripts/wiki_pages.js index 9446d4efd..81c81a1dc 100644 --- a/app/assets/javascripts/wiki_pages.js +++ b/app/assets/javascripts/wiki_pages.js @@ -20,8 +20,9 @@ $.ajax({ url: "/wiki_pages.json", data: { - "search[title]": "*" + req.term + "*", + "search[title]": req.term + "*", "search[hide_deleted]": "Yes", + "search[order]": "post_count", "limit": 10 }, method: "get", diff --git a/app/controllers/wiki_pages_controller.rb b/app/controllers/wiki_pages_controller.rb index abcbe42c2..213aefb29 100644 --- a/app/controllers/wiki_pages_controller.rb +++ b/app/controllers/wiki_pages_controller.rb @@ -15,7 +15,7 @@ class WikiPagesController < ApplicationController end def index - @wiki_pages = WikiPage.search(params[:search]).order("updated_at desc").paginate(params[:page], :limit => params[:limit], :search_count => params[:search]) + @wiki_pages = WikiPage.search(params[:search]).paginate(params[:page], :limit => params[:limit], :search_count => params[:search]) respond_with(@wiki_pages) do |format| format.html do if params[:page].nil? || params[:page].to_i == 1 diff --git a/app/models/wiki_page.rb b/app/models/wiki_page.rb index d31b7fb20..f2edc433e 100644 --- a/app/models/wiki_page.rb +++ b/app/models/wiki_page.rb @@ -79,10 +79,15 @@ class WikiPage < ActiveRecord::Base end params[:order] ||= params.delete(:sort) - if params[:order] == "time" || params[:order] == "Date" + case params[:order] + when "time" q = q.order("updated_at desc") - elsif params[:order] == "title" || params[:order] == "Name" + when "title" q = q.order("title") + when "post_count" + q = q.joins(:tag).order("tags.post_count desc") + else + q = q.order("updated_at desc") end q diff --git a/app/views/wiki_pages/search.html.erb b/app/views/wiki_pages/search.html.erb index fb312f803..9e7555e85 100644 --- a/app/views/wiki_pages/search.html.erb +++ b/app/views/wiki_pages/search.html.erb @@ -13,7 +13,7 @@