diff --git a/app/helpers/dmsf_upload_helper.rb b/app/helpers/dmsf_upload_helper.rb index 9e2516a1..33ccb016 100644 --- a/app/helpers/dmsf_upload_helper.rb +++ b/app/helpers/dmsf_upload_helper.rb @@ -20,6 +20,8 @@ # Upload helper module DmsfUploadHelper + include Redmine::I18n + def self.commit_files_internal(committed_files, project, folder, controller = nil, container = nil, new_object: false) failed_uploads = [] files = [] diff --git a/app/models/dmsf_file_revision.rb b/app/models/dmsf_file_revision.rb index c854bafc..97437907 100644 --- a/app/models/dmsf_file_revision.rb +++ b/app/models/dmsf_file_revision.rb @@ -446,7 +446,11 @@ class DmsfFileRevision < ApplicationRecord value = value.except('blank') _, v = value.first # We need a symbols here - result[key] = v&.symbolize_keys + result[key] = if v.key?('file') && v['file'].blank? + nil + else + v&.symbolize_keys + end else result[key] = value end diff --git a/test/unit/dmsf_file_revision_test.rb b/test/unit/dmsf_file_revision_test.rb index c8e84ee4..d96f891a 100644 --- a/test/unit/dmsf_file_revision_test.rb +++ b/test/unit/dmsf_file_revision_test.rb @@ -150,7 +150,7 @@ class DmsfFileRevisionTest < RedmineDmsf::Test::UnitTest def test_workflow_tooltip @revision2.set_workflow @wf1.id, 'start' - assert_equal 'John Smith', @revision2.workflow_tooltip + assert_equal @jsmith.name, @revision2.workflow_tooltip end def test_version @@ -302,4 +302,19 @@ class DmsfFileRevisionTest < RedmineDmsf::Test::UnitTest assert h.is_a?(Hash) assert_equal 'atoken', h['90'][:token] end + + def test_params_to_hash_empty_attachment + parameters = ActionController::Parameters.new({ + '78': 'A', + '90': { + 'blank': '', + '1': { + 'file': '' + } + } + }) + h = DmsfFileRevision.params_to_hash(parameters) + assert h.is_a?(Hash) + assert_nil h['90'] + end end