OSDN Git Service

Improve sorting for public projects page
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Thu, 26 Dec 2013 09:24:43 +0000 (11:24 +0200)
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Thu, 26 Dec 2013 09:24:43 +0000 (11:24 +0200)
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
app/controllers/public/projects_controller.rb
app/views/public/projects/index.html.haml

index 34425db..e00cd8c 100644 (file)
@@ -8,7 +8,8 @@ class Public::ProjectsController < ApplicationController
   def index
     @projects = Project.public_or_internal_only(current_user)
     @projects = @projects.search(params[:search]) if params[:search].present?
-    @projects = case params[:sort]
+    @sort = params[:sort]
+    @projects = case @sort
                 when 'newest' then @projects.order('created_at DESC')
                 when 'oldest' then @projects.order('created_at ASC')
                 when 'recently_updated' then @projects.order('updated_at DESC')
index 193d5c0..002ffa9 100644 (file)
       %a.dropdown-toggle.btn{href: '#', "data-toggle" => "dropdown"}
         %span.light sort:
         - if @sort.present?
-          = @sort
+          = @sort.humanize
         - else
-          Newest
+          Name
         %b.caret
       %ul.dropdown-menu
         %li
+          = link_to public_projects_path(sort: nil) do
+            Name
           = link_to public_projects_path(sort: 'newest') do
             Newest
           = link_to public_projects_path(sort: 'oldest') do