\Author should be kept when moving a folder #1484
This commit is contained in:
parent
90fb2a0989
commit
fc141b7e3b
@ -258,6 +258,7 @@ class DmsfFile < ApplicationRecord
|
|||||||
self.project = project
|
self.project = project
|
||||||
self.dmsf_folder = folder
|
self.dmsf_folder = folder
|
||||||
new_revision = last_revision.clone
|
new_revision = last_revision.clone
|
||||||
|
new_revision.user_id = last_revision.user_id
|
||||||
new_revision.workflow = nil
|
new_revision.workflow = nil
|
||||||
new_revision.dmsf_workflow_id = nil
|
new_revision.dmsf_workflow_id = nil
|
||||||
new_revision.dmsf_workflow_assigned_by_user_id = nil
|
new_revision.dmsf_workflow_assigned_by_user_id = nil
|
||||||
|
|||||||
@ -109,6 +109,7 @@ class DmsfLink < ApplicationRecord
|
|||||||
link.external_url = external_url
|
link.external_url = external_url
|
||||||
link.project_id = project.id
|
link.project_id = project.id
|
||||||
link.dmsf_folder_id = folder ? folder.id : nil
|
link.dmsf_folder_id = folder ? folder.id : nil
|
||||||
|
link.user = User.current
|
||||||
link.save!
|
link.save!
|
||||||
link
|
link
|
||||||
end
|
end
|
||||||
|
|||||||
1
test/fixtures/dmsf_links.yml
vendored
1
test/fixtures/dmsf_links.yml
vendored
@ -24,6 +24,7 @@ file_link:
|
|||||||
deleted_by_user_id: NULL
|
deleted_by_user_id: NULL
|
||||||
created_at: <%= DateTime.current %>
|
created_at: <%= DateTime.current %>
|
||||||
updated_at: <%= DateTime.current %>
|
updated_at: <%= DateTime.current %>
|
||||||
|
user_id: 1
|
||||||
|
|
||||||
folder_link2:
|
folder_link2:
|
||||||
id: 3
|
id: 3
|
||||||
|
|||||||
@ -290,4 +290,19 @@ class DmsfFileTest < RedmineDmsf::Test::UnitTest
|
|||||||
assert_not_empty(@file13.pdf_preview) if RedmineDmsf::Preview.office_available?
|
assert_not_empty(@file13.pdf_preview) if RedmineDmsf::Preview.office_available?
|
||||||
assert_empty @file1.pdf_preview
|
assert_empty @file1.pdf_preview
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_move_to_author
|
||||||
|
assert_equal @admin.id, @file1.last_revision.user_id
|
||||||
|
User.current = @jsmith
|
||||||
|
assert @file1.move_to(@folder1.project, @folder1)
|
||||||
|
assert_equal @admin.id, @file1.last_revision.user_id, "Author mustn't be updated when moving"
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_copy_to_author
|
||||||
|
assert_equal @admin.id, @file1.last_revision.user_id
|
||||||
|
User.current = @jsmith
|
||||||
|
f = @file1.copy_to(@folder1.project, @folder1)
|
||||||
|
assert f
|
||||||
|
assert_equal @jsmith.id, f.last_revision.user_id, 'Author must be updated when copying'
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -252,6 +252,21 @@ class DmsfFolderTest < RedmineDmsf::Test::UnitTest
|
|||||||
assert DmsfFolder.find_by(project_id: @project2.id, title: @folder1.title)
|
assert DmsfFolder.find_by(project_id: @project2.id, title: @folder1.title)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_move_to_author
|
||||||
|
assert_equal @admin.id, @folder1.user_id
|
||||||
|
User.current = @jsmith
|
||||||
|
assert @folder1.move_to(@folder6.project, @folder6)
|
||||||
|
assert_equal @admin.id, @folder1.user_id, "Author mustn't be updated when moving"
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_copy_to_author
|
||||||
|
assert_equal @admin.id, @folder1.user_id
|
||||||
|
User.current = @jsmith
|
||||||
|
f = @folder1.copy_to(@folder6.project, @folder6)
|
||||||
|
assert f
|
||||||
|
assert_equal @jsmith.id, f.user_id, 'Author must be updated when copying'
|
||||||
|
end
|
||||||
|
|
||||||
def test_valid_parent
|
def test_valid_parent
|
||||||
@folder2.dmsf_folder = @folder1
|
@folder2.dmsf_folder = @folder1
|
||||||
assert @folder2.save
|
assert @folder2.save
|
||||||
|
|||||||
@ -184,6 +184,21 @@ class DmsfLinksTest < RedmineDmsf::Test::UnitTest
|
|||||||
assert_equal folder_link_copy.dmsf_folder_id, @folder2.id
|
assert_equal folder_link_copy.dmsf_folder_id, @folder2.id
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_move_to_author
|
||||||
|
assert_equal @admin.id, @file_link.user_id
|
||||||
|
User.current = @jsmith
|
||||||
|
assert @file_link.move_to(@project1, @folder1)
|
||||||
|
assert_equal @admin.id, @file_link.user_id, "Author mustn't be updated when moving"
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_copy_to_author
|
||||||
|
assert_equal @admin.id, @file_link.user_id
|
||||||
|
User.current = @jsmith
|
||||||
|
l = @file_link.copy_to(@project1, @folder1)
|
||||||
|
assert l
|
||||||
|
assert_equal @jsmith.id, l.user_id, 'Author must be updated when copying'
|
||||||
|
end
|
||||||
|
|
||||||
def test_delete_file_link
|
def test_delete_file_link
|
||||||
assert @file_link.delete(commit: false), @file_link.errors.full_messages.to_sentence
|
assert @file_link.delete(commit: false), @file_link.errors.full_messages.to_sentence
|
||||||
assert @file_link.deleted?, "File link hasn't been deleted"
|
assert @file_link.deleted?, "File link hasn't been deleted"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user