]> source.dussan.org Git - redmine.git/commitdiff
Closed versions should be marked as completed (#21433).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 9 Jan 2016 09:10:24 +0000 (09:10 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 9 Jan 2016 09:10:24 +0000 (09:10 +0000)
git-svn-id: http://svn.redmine.org/redmine/trunk@15019 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/versions_controller.rb
app/models/version.rb
test/unit/version_test.rb

index e6b1fec89132730f861df3dd9331c2f5f99b63db..98f2db2926cd182877a469d455412a09a7601e3c 100644 (file)
@@ -40,7 +40,7 @@ class VersionsController < ApplicationController
         @versions += @project.rolled_up_versions.visible if @with_subprojects
         @versions = @versions.uniq.sort
         unless params[:completed]
-          @completed_versions = @versions.select {|version| version.closed? || version.completed? }
+          @completed_versions = @versions.select(&:completed?)
           @versions -= @completed_versions
         end
 
index 7d3387a633e561bda48b94685d38168a64baae9d..1d4f4dac1406f47733e4ce24615e6ecb0cb47a68 100644 (file)
@@ -102,9 +102,9 @@ class Version < ActiveRecord::Base
     status == 'open'
   end
 
-  # Returns true if the version is completed: due date reached and no open issues
+  # Returns true if the version is completed: closed or due date reached and no open issues
   def completed?
-    effective_date && (effective_date < Date.today) && (open_issues_count == 0)
+    closed? || (effective_date && (effective_date < Date.today) && (open_issues_count == 0))
   end
 
   def behind_schedule?
index b61061b85bfb537a7051771027ee7e3cfd194308..15d6816fd83b7fe12d19d4f135c3e95b85b9096c 100644 (file)
@@ -138,6 +138,11 @@ class VersionTest < ActiveSupport::TestCase
     assert_equal false, version.completed?
   end
 
+  def test_completed_should_be_true_when_closed
+    version = Version.create!(:project_id => 1, :status => 'closed', :name => 'Closed')
+    assert_equal true, version.completed?
+  end
+
   test "#behind_schedule? should be false if there are no issues assigned" do
     version = Version.generate!(:effective_date => Date.yesterday)
     assert_equal false, version.behind_schedule?