From 2940785c179702acb7b7b333740d93d2ac0e6c8b Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Tue, 14 Jan 2014 20:55:59 +0200 Subject: [PATCH] Add sort dropdown to merge requests list --- app/contexts/merge_requests_load_context.rb | 3 +++ app/controllers/projects/merge_requests_controller.rb | 2 ++ app/views/projects/merge_requests/index.html.haml | 2 ++ 3 files changed, 7 insertions(+), 0 deletions(-) diff --git a/app/contexts/merge_requests_load_context.rb b/app/contexts/merge_requests_load_context.rb index c3408db..3559ebf 100644 --- a/app/contexts/merge_requests_load_context.rb +++ b/app/contexts/merge_requests_load_context.rb @@ -30,6 +30,9 @@ class MergeRequestsLoadContext < BaseContext merge_requests = merge_requests.where(milestone_id: (params[:milestone_id] == '0' ? nil : params[:milestone_id])) end + # Sort by :sort param + merge_requests = merge_requests.sort(params[:sort]) + merge_requests end end diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb index bba08bd..663e93b 100644 --- a/app/controllers/projects/merge_requests_controller.rb +++ b/app/controllers/projects/merge_requests_controller.rb @@ -17,6 +17,8 @@ class Projects::MergeRequestsController < Projects::ApplicationController before_filter :authorize_modify_merge_request!, only: [:close, :edit, :update, :sort] def index + sort_param = params[:sort] || 'newest' + @sort = sort_param.humanize unless sort_param.empty? @merge_requests = MergeRequestsLoadContext.new(project, current_user, params).execute assignee_id, milestone_id = params[:assignee_id], params[:milestone_id] @assignee = @project.team.find(assignee_id) if assignee_id.present? && !assignee_id.to_i.zero? diff --git a/app/views/projects/merge_requests/index.html.haml b/app/views/projects/merge_requests/index.html.haml index 377e4ab..62ca52d 100644 --- a/app/views/projects/merge_requests/index.html.haml +++ b/app/views/projects/merge_requests/index.html.haml @@ -60,6 +60,8 @@ %strong= milestone.title %small.light= milestone.expires_at + = render 'shared/sort_dropdown' + %ul.well-list.mr-list = render @merge_requests - if @merge_requests.blank? -- libgit2 0.21.2