diff options
author | Douwe Maan <douwe@gitlab.com> | 2016-02-12 09:32:57 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2016-02-12 09:32:57 +0000 |
commit | 9022070fac7555b9b6bb26e3510b5f9641414ff8 (patch) | |
tree | c3421245854c3fd3af13dc0312f4f3e490b5ee43 | |
parent | e45bc034fa4a003b0bc45233e32aedcca4eecea1 (diff) | |
parent | a7567ca15203f63b59a736d5d391054ebc20d73d (diff) | |
download | gitlab-ce-9022070fac7555b9b6bb26e3510b5f9641414ff8.tar.gz |
Merge branch 'olirogers/gitlab-ce-project-milestone-order' into 'master'
Fix milestone order in project and issue edit lists to due_date
_Originally opened at !2579 by @olirogers._
- - -
This MR orders the milestones by due date (earliest first) in the project and edit issue view. These suggestions were made be @orih in #6001 and fixes #6001.
This continues the work of !1934 to order milestones.
I found this annoying when creating milestones, found #6001 but no attached MR. This is my first for this project - comments and criticisms welcome.
See merge request !2780
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | app/controllers/projects/milestones_controller.rb | 11 | ||||
-rw-r--r-- | app/helpers/issues_helper.rb | 6 | ||||
-rw-r--r-- | app/helpers/projects_helper.rb | 4 |
4 files changed, 10 insertions, 12 deletions
diff --git a/CHANGELOG b/CHANGELOG index a2293c202eb..ea84cf0fd79 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -57,6 +57,7 @@ v 8.4.4 - Update omniauth-saml gem to 1.4.2 - Prevent long-running backup tasks from timing out the database connection - Add a Project setting to allow guests to view build logs (defaults to true) + - Sort project milestones by due date including issue editor (Oliver Rogers / Orih) v 8.4.3 - Increase lfs_objects size column to 8-byte integer to allow files larger diff --git a/app/controllers/projects/milestones_controller.rb b/app/controllers/projects/milestones_controller.rb index 15506bd677a..a5c4ef1c7c7 100644 --- a/app/controllers/projects/milestones_controller.rb +++ b/app/controllers/projects/milestones_controller.rb @@ -11,11 +11,12 @@ class Projects::MilestonesController < Projects::ApplicationController respond_to :html def index - @milestones = case params[:state] - when 'all'; @project.milestones.order("state, due_date DESC") - when 'closed'; @project.milestones.closed.order("due_date DESC") - else @project.milestones.active.order("due_date ASC") - end + @milestones = + case params[:state] + when 'all' then @project.milestones.reorder(due_date: :desc, title: :asc) + when 'closed' then @project.milestones.closed.reorder(due_date: :desc, title: :asc) + else @project.milestones.active.reorder(due_date: :asc, title: :asc) + end @milestones = @milestones.includes(:project) @milestones = @milestones.page(params[:page]).per(PER_PAGE) diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb index 43262d579e9..ae4ebc0854a 100644 --- a/app/helpers/issues_helper.rb +++ b/app/helpers/issues_helper.rb @@ -44,14 +44,14 @@ module IssuesHelper end def bulk_update_milestone_options - milestones = project_active_milestones.to_a + milestones = @project.milestones.active.reorder(due_date: :asc, title: :asc).to_a milestones.unshift(Milestone::None) options_from_collection_for_select(milestones, 'id', 'title', params[:milestone_id]) end def milestone_options(object) - milestones = object.project.milestones.active.to_a + milestones = object.project.milestones.active.reorder(due_date: :asc, title: :asc).to_a milestones.unshift(Milestone::None) options_from_collection_for_select(milestones, 'id', 'title', object.milestone_id) @@ -69,7 +69,7 @@ module IssuesHelper end end - def issue_button_visibility(issue, closed) + def issue_button_visibility(issue, closed) return 'hidden' if issue.closed? == closed end diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index cc1c61e9ec0..d6fb629b0c2 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -98,10 +98,6 @@ module ProjectsHelper project_nav_tabs.include? name end - def project_active_milestones - @project.milestones.active.order("due_date, title ASC") - end - def project_for_deploy_key(deploy_key) if deploy_key.projects.include?(@project) @project |