From f0d579adebfe3c5da93135fbaa3d9ec503d06855 Mon Sep 17 00:00:00 2001 From: Go MAEDA Date: Tue, 26 Mar 2019 11:05:20 +0000 Subject: [PATCH] Fix that deleting a version silently deletes its attachments (#31087). MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Patch by Karel Pičman and Takenori TAKAKI. git-svn-id: http://svn.redmine.org/redmine/trunk@18008 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/version.rb | 2 +- test/unit/version_test.rb | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/models/version.rb b/app/models/version.rb index 66d1a8070..3c62580f9 100644 --- a/app/models/version.rb +++ b/app/models/version.rb @@ -353,7 +353,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 9773a956d..046e20d07 100644 --- a/test/unit/version_test.rb +++ b/test/unit/version_test.rb @@ -284,6 +284,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')