summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2016-02-12 09:32:57 +0000
committerDouwe Maan <douwe@gitlab.com>2016-02-12 09:32:57 +0000
commit9022070fac7555b9b6bb26e3510b5f9641414ff8 (patch)
treec3421245854c3fd3af13dc0312f4f3e490b5ee43
parente45bc034fa4a003b0bc45233e32aedcca4eecea1 (diff)
parenta7567ca15203f63b59a736d5d391054ebc20d73d (diff)
downloadgitlab-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--CHANGELOG1
-rw-r--r--app/controllers/projects/milestones_controller.rb11
-rw-r--r--app/helpers/issues_helper.rb6
-rw-r--r--app/helpers/projects_helper.rb4
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