Commit 2940785c179702acb7b7b333740d93d2ac0e6c8b

Authored by Dmitriy Zaporozhets
1 parent 2c071314

Add sort dropdown to merge requests list

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
app/contexts/merge_requests_load_context.rb
... ... @@ -30,6 +30,9 @@ class MergeRequestsLoadContext &lt; BaseContext
30 30 merge_requests = merge_requests.where(milestone_id: (params[:milestone_id] == '0' ? nil : params[:milestone_id]))
31 31 end
32 32  
  33 + # Sort by :sort param
  34 + merge_requests = merge_requests.sort(params[:sort])
  35 +
33 36 merge_requests
34 37 end
35 38 end
... ...
app/controllers/projects/merge_requests_controller.rb
... ... @@ -17,6 +17,8 @@ class Projects::MergeRequestsController &lt; Projects::ApplicationController
17 17 before_filter :authorize_modify_merge_request!, only: [:close, :edit, :update, :sort]
18 18  
19 19 def index
  20 + sort_param = params[:sort] || 'newest'
  21 + @sort = sort_param.humanize unless sort_param.empty?
20 22 @merge_requests = MergeRequestsLoadContext.new(project, current_user, params).execute
21 23 assignee_id, milestone_id = params[:assignee_id], params[:milestone_id]
22 24 @assignee = @project.team.find(assignee_id) if assignee_id.present? && !assignee_id.to_i.zero?
... ...
app/views/projects/merge_requests/index.html.haml
... ... @@ -60,6 +60,8 @@
60 60 %strong= milestone.title
61 61 %small.light= milestone.expires_at
62 62  
  63 + = render 'shared/sort_dropdown'
  64 +
63 65 %ul.well-list.mr-list
64 66 = render @merge_requests
65 67 - if @merge_requests.blank?
... ...