From eb49e28ca0145fa7df6ef1077ae97e90ce39fc6b Mon Sep 17 00:00:00 2001
From: Phil Hughes <me@iamphill.com>
Date: Sun, 17 Jul 2016 17:43:06 +0100
Subject: [PATCH] Fixed milestone dropdown tests

---
 app/helpers/milestones_helper.rb                        | 6 ++++++
 app/views/shared/issuable/_milestone_dropdown.html.haml | 6 +++---
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/app/helpers/milestones_helper.rb b/app/helpers/milestones_helper.rb
index 6ea83e5dc03..05caf91240f 100644
--- a/app/helpers/milestones_helper.rb
+++ b/app/helpers/milestones_helper.rb
@@ -55,6 +55,12 @@ module MilestonesHelper
     end
   end
 
+  def milestone_dropdown_selected_text
+    project = @target_project || @project || @projects
+
+    Milestone.of_projects(project).where(title: params[:milestone_title]).first().try(:name)
+  end
+
   def milestone_remaining_days(milestone)
     if milestone.expired?
       content_tag(:strong, 'Past due')
diff --git a/app/views/shared/issuable/_milestone_dropdown.html.haml b/app/views/shared/issuable/_milestone_dropdown.html.haml
index 9dd54546cb6..0b8fd3daad7 100644
--- a/app/views/shared/issuable/_milestone_dropdown.html.haml
+++ b/app/views/shared/issuable/_milestone_dropdown.html.haml
@@ -1,11 +1,11 @@
-- project = @target_project || @project
+- project = @target_project || @project || @projects
 - extra_class = extra_class || ''
-- selected_text = project.milestones.find_by_id(selected).try(:name)
+- selected_text = milestone_dropdown_selected_text
 - if selected.present?
   = hidden_field_tag(name, selected)
 = dropdown_tag(milestone_dropdown_label(selected_text), options: { title: "Filter by milestone", toggle_class: "js-milestone-select js-filter-submit #{extra_class}", filter: true, dropdown_class: "dropdown-menu-selectable",
   placeholder: "Search milestones", footer_content: project.present?, data: { show_no: true, show_any: show_any, show_upcoming: show_upcoming, field_name: name, selected: selected, project_id: project.try(:id), milestones: milestones_filter_dropdown_path, default_label: "Milestone" } }) do
-  - if project
+  - if project && project.respond_to?(:namespace)
     %ul.dropdown-footer-list
       - if can? current_user, :admin_milestone, project
         %li
-- 
GitLab