Commit 2940785c179702acb7b7b333740d93d2ac0e6c8b
1 parent
2c071314
Exists in
spb-stable
and in
3 other branches
Add sort dropdown to merge requests list
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Showing
3 changed files
with
7 additions
and
0 deletions
Show diff stats
app/contexts/merge_requests_load_context.rb
| @@ -30,6 +30,9 @@ class MergeRequestsLoadContext < BaseContext | @@ -30,6 +30,9 @@ class MergeRequestsLoadContext < 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 < Projects::ApplicationController | @@ -17,6 +17,8 @@ class Projects::MergeRequestsController < 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? |