Commit 7458437ed970b610defc2ab3042ea1494b06e822

Authored by Dmitriy Zaporozhets
1 parent 6a0c0f3f

Improve sorting for public projects page

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
app/controllers/public/projects_controller.rb
... ... @@ -8,7 +8,8 @@ class Public::ProjectsController &lt; ApplicationController
8 8 def index
9 9 @projects = Project.public_or_internal_only(current_user)
10 10 @projects = @projects.search(params[:search]) if params[:search].present?
11   - @projects = case params[:sort]
  11 + @sort = params[:sort]
  12 + @projects = case @sort
12 13 when 'newest' then @projects.order('created_at DESC')
13 14 when 'oldest' then @projects.order('created_at ASC')
14 15 when 'recently_updated' then @projects.order('updated_at DESC')
... ...
app/views/public/projects/index.html.haml
... ... @@ -15,12 +15,14 @@
15 15 %a.dropdown-toggle.btn{href: '#', "data-toggle" => "dropdown"}
16 16 %span.light sort:
17 17 - if @sort.present?
18   - = @sort
  18 + = @sort.humanize
19 19 - else
20   - Newest
  20 + Name
21 21 %b.caret
22 22 %ul.dropdown-menu
23 23 %li
  24 + = link_to public_projects_path(sort: nil) do
  25 + Name
24 26 = link_to public_projects_path(sort: 'newest') do
25 27 Newest
26 28 = link_to public_projects_path(sort: 'oldest') do
... ...