From: Jean-Philippe Lang Date: Sat, 9 Jan 2016 09:10:24 +0000 (+0000) Subject: Closed versions should be marked as completed (#21433). X-Git-Tag: 3.3.0~333 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=5e5506587e95b1981b7e913bf4e6b7b61c304bde;p=redmine.git Closed versions should be marked as completed (#21433). git-svn-id: http://svn.redmine.org/redmine/trunk@15019 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/controllers/versions_controller.rb b/app/controllers/versions_controller.rb index e6b1fec89..98f2db292 100644 --- a/app/controllers/versions_controller.rb +++ b/app/controllers/versions_controller.rb @@ -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 diff --git a/app/models/version.rb b/app/models/version.rb index 7d3387a63..1d4f4dac1 100644 --- a/app/models/version.rb +++ b/app/models/version.rb @@ -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? diff --git a/test/unit/version_test.rb b/test/unit/version_test.rb index b61061b85..15d6816fd 100644 --- a/test/unit/version_test.rb +++ b/test/unit/version_test.rb @@ -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?