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