summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/version.rb2
-rw-r--r--test/unit/version_test.rb7
2 files changed, 8 insertions, 1 deletions
diff --git a/app/models/version.rb b/app/models/version.rb
index 2ccea2fda..d4598eed8 100644
--- a/app/models/version.rb
+++ b/app/models/version.rb
@@ -351,7 +351,7 @@ class Version < ActiveRecord::Base
end
def deletable?
- fixed_issues.empty? && !referenced_by_a_custom_field?
+ fixed_issues.empty? && !referenced_by_a_custom_field? && attachments.empty?
end
def default_project_version
diff --git a/test/unit/version_test.rb b/test/unit/version_test.rb
index b05096067..e3e52b33d 100644
--- a/test/unit/version_test.rb
+++ b/test/unit/version_test.rb
@@ -278,6 +278,13 @@ class VersionTest < ActiveSupport::TestCase
assert_equal false, version.deletable?
end
+ def test_deletable_should_return_false_when_referenced_by_an_attachment
+ version = Version.generate!
+ Attachment.generate!(:container => version, :filename => 'test.txt')
+
+ assert_equal false, version.deletable?
+ end
+
def test_like_scope
version = Version.create!(:project => Project.find(1), :name => 'Version for like scope test')