diff options
author | Phil Hughes <me@iamphill.com> | 2016-03-24 15:20:35 +0000 |
---|---|---|
committer | Phil Hughes <me@iamphill.com> | 2016-03-29 11:59:13 +0100 |
commit | 88024b17c03f5cc834465574c55a566f8f1a5819 (patch) | |
tree | dd3dc42801c5553103e6a9d6922918266b6377e1 | |
parent | 3aeda8c94f446931a38f3dcc22b7c835ef5cc818 (diff) | |
download | gitlab-ce-88024b17c03f5cc834465574c55a566f8f1a5819.tar.gz |
Standardised the output of the JSON to always include the name
The frontend will then always use the name as the ID - like previous
-rw-r--r-- | app/assets/javascripts/milestone_select.js.coffee | 22 | ||||
-rw-r--r-- | app/controllers/projects/milestones_controller.rb | 2 | ||||
-rw-r--r-- | app/finders/issuable_finder.rb | 2 | ||||
-rw-r--r-- | app/helpers/issuables_helper.rb | 14 | ||||
-rw-r--r-- | app/models/global_milestone.rb | 3 | ||||
-rw-r--r-- | app/views/shared/issuable/_milestone_dropdown.html.haml | 2 |
6 files changed, 31 insertions, 14 deletions
diff --git a/app/assets/javascripts/milestone_select.js.coffee b/app/assets/javascripts/milestone_select.js.coffee index 10c776a0501..b569b7eb7bf 100644 --- a/app/assets/javascripts/milestone_select.js.coffee +++ b/app/assets/javascripts/milestone_select.js.coffee @@ -50,19 +50,22 @@ class @MilestoneSelect extraOptions = [] if showAny extraOptions.push( - isAny: true + id: 0 + name: '' title: 'Any Milestone' ) if showNo extraOptions.push( - id: '0' + id: -1 + name: 'No Milestone' title: 'No Milestone' ) if showUpcoming extraOptions.push( - id: '#upcoming' + id: -2 + name: '#upcoming' title: 'Upcoming' ) >>>>>>> Updated to only include upcoming on filters @@ -84,14 +87,11 @@ class @MilestoneSelect milestone.title id: (milestone) -> if !useId - if !milestone.isAny? - milestone.title - else - '' + milestone.name else milestone.id isSelected: (milestone) -> - milestone.title is selectedMilestone + milestone.name is selectedMilestone hidden: -> $selectbox.hide() $value.show() @@ -99,8 +99,10 @@ class @MilestoneSelect if $dropdown.hasClass 'js-filter-bulk-update' return - if $dropdown.hasClass 'js-filter-submit' - if selected.title? + if $dropdown.hasClass('js-filter-submit') and (isIssueIndex or isMRIndex) + if selected.name? + selectedMilestone = selected.name + else if selected.title? selectedMilestone = selected.title $dropdown.parents('form').submit() else diff --git a/app/controllers/projects/milestones_controller.rb b/app/controllers/projects/milestones_controller.rb index 5b0a63a933c..f7b6d137bde 100644 --- a/app/controllers/projects/milestones_controller.rb +++ b/app/controllers/projects/milestones_controller.rb @@ -24,7 +24,7 @@ class Projects::MilestonesController < Projects::ApplicationController @milestones = @milestones.page(params[:page]) end format.json do - render json: @milestones + render json: @milestones.to_json(methods: :name) end end end diff --git a/app/finders/issuable_finder.rb b/app/finders/issuable_finder.rb index a7799b91eb8..f1df6832bf6 100644 --- a/app/finders/issuable_finder.rb +++ b/app/finders/issuable_finder.rb @@ -243,7 +243,7 @@ class IssuableFinder end def filter_by_upcoming_milestone? - params[:milestone_title] == 'Upcoming' + params[:milestone_title] == Milestone::Upcoming.name end def by_milestone(items) diff --git a/app/helpers/issuables_helper.rb b/app/helpers/issuables_helper.rb index 62050691a39..53e53977da2 100644 --- a/app/helpers/issuables_helper.rb +++ b/app/helpers/issuables_helper.rb @@ -47,6 +47,20 @@ module IssuablesHelper end end + def milestone_dropdown_label(milestone_title, default_label) + milestone_title = if milestone_title == Milestone::Upcoming.name + Milestone::Upcoming.title + else + milestone_title + end + + if !milestone_title.nil? && !milestone_title.empty? + h(milestone_title) + else + default_label + end + end + private def sidebar_gutter_collapsed? diff --git a/app/models/global_milestone.rb b/app/models/global_milestone.rb index 97bd79af083..9c0e7e4fb63 100644 --- a/app/models/global_milestone.rb +++ b/app/models/global_milestone.rb @@ -8,12 +8,13 @@ class GlobalMilestone milestones = milestones.group_by(&:title) milestones.map do |title, milestones| - new(title, milestones) + new(title, milestones) end end def initialize(title, milestones) @title = title + @name = title @milestones = milestones end diff --git a/app/views/shared/issuable/_milestone_dropdown.html.haml b/app/views/shared/issuable/_milestone_dropdown.html.haml index 05841ba4392..cfa45d22b3e 100644 --- a/app/views/shared/issuable/_milestone_dropdown.html.haml +++ b/app/views/shared/issuable/_milestone_dropdown.html.haml @@ -1,6 +1,6 @@ - if params[:milestone_title] = hidden_field_tag(:milestone_title, params[:milestone_title]) -= dropdown_tag(h(params[:milestone_title].presence || "Milestone"), options: { title: "Filter by milestone", toggle_class: 'js-milestone-select js-filter-submit', filter: true, dropdown_class: "dropdown-menu-selectable", += dropdown_tag(milestone_dropdown_label(params[:milestone_title], "Milestone"), options: { title: "Filter by milestone", toggle_class: 'js-milestone-select js-filter-submit', filter: true, dropdown_class: "dropdown-menu-selectable", placeholder: "Search milestones", footer_content: @project.present?, data: { show_no: true, show_any: true, show_upcoming: true, field_name: "milestone_title", selected: params[:milestone_title], project_id: @project.try(:id), milestones: milestones_filter_dropdown_path, default_label: "Milestone" } }) do - if @project %ul.dropdown-footer-list |