From 9e6c61372fe0f7f2199f4e8f72b3c4e4a4219020 Mon Sep 17 00:00:00 2001
From: Felipe Artur <felipefac@gmail.com>
Date: Wed, 6 Apr 2016 11:02:22 -0300
Subject: [PATCH] Fix milestone removal problem when editing issues

---
 app/helpers/issues_helper.rb       |  1 +
 spec/helpers/issues_helper_spec.rb | 15 +++++++++++++++
 2 files changed, 16 insertions(+)

diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb
index 24b90fef4f..414056c809 100644
--- a/app/helpers/issues_helper.rb
+++ b/app/helpers/issues_helper.rb
@@ -52,6 +52,7 @@ module IssuesHelper
 
   def milestone_options(object)
     milestones = object.project.milestones.active.reorder(due_date: :asc, title: :asc).to_a
+    milestones.unshift(object.milestone) if object.milestone.present? && object.milestone.closed?
     milestones.unshift(Milestone::None)
 
     options_from_collection_for_select(milestones, 'id', 'title', object.milestone_id)
diff --git a/spec/helpers/issues_helper_spec.rb b/spec/helpers/issues_helper_spec.rb
index ffd8ebae02..df0eb22d6f 100644
--- a/spec/helpers/issues_helper_spec.rb
+++ b/spec/helpers/issues_helper_spec.rb
@@ -148,4 +148,19 @@ describe IssuesHelper do
       expect(awards_sort(data).keys).to eq(["thumbsup", "thumbsdown", "lifter"])
     end
   end
+
+  describe "#milestone options" do
+    let!(:closed_milestone) { create :closed_milestone, title: "closed milestone", project: project }
+    let!(:milestone1)       { create :milestone, title: "open milestone 1", project: project }
+    let!(:milestone2)       { create :milestone, title: "open milestone 2", project: project }
+
+    before { issue.update_attributes(milestone_id: closed_milestone.id) }
+
+    it "gets closed milestone from current issue" do
+      options = milestone_options(issue)
+      expect(options).to have_selector('option[selected]', text: closed_milestone.title)
+      expect(options).to have_selector('option', text: milestone1.title)
+      expect(options).to have_selector('option', text: milestone2.title)
+    end
+  end
 end
-- 
2.30.9