From 21efaf110aa3eb8c6020dfcfda0cfdc6bce626d4 Mon Sep 17 00:00:00 2001 From: "karel.picman@lbcfree.net" Date: Thu, 20 Aug 2020 08:01:58 +0200 Subject: [PATCH] Editing a document also changes its title #1156 --- lib/redmine_dmsf/webdav/dmsf_resource.rb | 11 ++--------- test/integration/webdav/dmsf_webdav_put_test.rb | 13 +++++++++++++ 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/lib/redmine_dmsf/webdav/dmsf_resource.rb b/lib/redmine_dmsf/webdav/dmsf_resource.rb index 199d0cf4..763633c2 100644 --- a/lib/redmine_dmsf/webdav/dmsf_resource.rb +++ b/lib/redmine_dmsf/webdav/dmsf_resource.rb @@ -589,13 +589,8 @@ module RedmineDmsf new_revision = last_revision reuse_revision = true else - new_revision = DmsfFileRevision.new + new_revision = last_revision ? last_revision.dup : DmsfFileRevision.new new_revision.source_revision = last_revision - if last_revision - new_revision.major_version = last_revision.major_version - new_revision.minor_version = last_revision.minor_version - new_revision.workflow = last_revision.workflow - end end else f = DmsfFile.new @@ -606,14 +601,12 @@ module RedmineDmsf new_revision = DmsfFileRevision.new new_revision.minor_version = 0 new_revision.major_version = 0 + new_revision.title = DmsfFileRevision.filename_to_title(basename) end new_revision.dmsf_file = f new_revision.user = User.current new_revision.name = basename - new_revision.title = DmsfFileRevision.filename_to_title(basename) - new_revision.description = nil - new_revision.comment = nil new_revision.increase_version(1) unless reuse_revision new_revision.mime_type = Redmine::MimeType.of(new_revision.name) diff --git a/test/integration/webdav/dmsf_webdav_put_test.rb b/test/integration/webdav/dmsf_webdav_put_test.rb index f64c4042..c8b2e5a3 100644 --- a/test/integration/webdav/dmsf_webdav_put_test.rb +++ b/test/integration/webdav/dmsf_webdav_put_test.rb @@ -270,5 +270,18 @@ class DmsfWebdavPutTest < RedmineDmsf::Test::IntegrationTest assert_response :created assert DmsfFile.find_by(project_id: @project3.id, dmsf_folder: nil, name: 'test-1234.txt') end + + def test_put_keep_title + assert @file1.last_revision.size != 0 + @file1.last_revision.title = 'Keep that title' + assert @file1.last_revision.save + assert_difference '@file1.dmsf_file_revisions.count', +1 do + put "/dmsf/webdav/#{@project1.identifier}/#{@file1.name}", params: '1234', + headers: @jsmith.merge!({ content_type: :text }) + assert_response :created + end + @file1.last_revision.reload + assert_equal @file1.last_revision.title, 'Keep that title' + end end \ No newline at end of file