summaryrefslogtreecommitdiff
path: root/app/models/milestone.rb
diff options
context:
space:
mode:
authorGeorge Andrinopoulos <geoandri@gmail.com>2017-03-24 00:39:12 +0000
committerRémy Coutable <remy@rymai.me>2017-03-24 00:39:12 +0000
commite118d48df91ba04a9cba3ddb90ef20166ff8d9b8 (patch)
tree4be00723bd36af94261ab38c378809b1f6d8c01a /app/models/milestone.rb
parent902ea5c85b97fe12a49b2634244368a71b0239ed (diff)
downloadgitlab-ce-e118d48df91ba04a9cba3ddb90ef20166ff8d9b8.tar.gz
Add dropdown sort to project milestones
Diffstat (limited to 'app/models/milestone.rb')
-rw-r--r--app/models/milestone.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/app/models/milestone.rb b/app/models/milestone.rb
index c0deb59ec4c..e85d5709624 100644
--- a/app/models/milestone.rb
+++ b/app/models/milestone.rb
@@ -107,6 +107,21 @@ class Milestone < ActiveRecord::Base
end
end
+ def self.sort(method)
+ case method.to_s
+ when 'due_date_asc'
+ reorder(Gitlab::Database.nulls_last_order('due_date', 'ASC'))
+ when 'due_date_desc'
+ reorder(Gitlab::Database.nulls_last_order('due_date', 'DESC'))
+ when 'start_date_asc'
+ reorder(Gitlab::Database.nulls_last_order('start_date', 'ASC'))
+ when 'start_date_desc'
+ reorder(Gitlab::Database.nulls_last_order('start_date', 'DESC'))
+ else
+ order_by(method)
+ end
+ end
+
##
# Returns the String necessary to reference this Milestone in Markdown
#