From 89c1cdecf678e0bbd7714ef942defc2225dc8e0a Mon Sep 17 00:00:00 2001 From: pavel Date: Wed, 9 Jan 2019 00:10:13 +0100 Subject: [PATCH] fix email zip --- app/controllers/dmsf_controller.rb | 2 +- test/functional/dmsf_controller_test.rb | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/app/controllers/dmsf_controller.rb b/app/controllers/dmsf_controller.rb index 13fed7be..a8b34329 100644 --- a/app/controllers/dmsf_controller.rb +++ b/app/controllers/dmsf_controller.rb @@ -178,7 +178,7 @@ class DmsfController < ApplicationController if params[:email][:to].strip.blank? flash[:errors] = l(:error_email_to_must_be_entered) else - DmsfMailer.deliver_send_documents(@project, params[:email]) + DmsfMailer.deliver_send_documents(@project, params[:email].permit!) File.delete(params[:email][:zipped_content]) flash[:notice] = l(:notice_email_sent, params[:email][:to]) end diff --git a/test/functional/dmsf_controller_test.rb b/test/functional/dmsf_controller_test.rb index 1054e8da..38e16448 100644 --- a/test/functional/dmsf_controller_test.rb +++ b/test/functional/dmsf_controller_test.rb @@ -257,6 +257,23 @@ class DmsfControllerTest < RedmineDmsf::Test::TestCase assert_select "input:match('value', ?)", Setting.plugin_redmine_dmsf['dmsf_documents_email_links_only'] end + def test_entries_email + @role.add_permission! :view_dmsf_files + zip_file_path = DmsfHelper.temp_dir.join(DmsfHelper.temp_filename('dmsf_email_sent_documents.zip')) + FileUtils.touch(zip_file_path) + assert File.exist?(zip_file_path) + get :entries_email, :params => {:id => @project, :email => + { + :to => 'to@test.com', :from => 'from@test.com', :subject => 'subject', :body => 'body', :expired_at => '2015-01-01', + :folders => [], :files => [@file1.id], :zipped_content => zip_file_path + } + } + assert_redirected_to dmsf_folder_path(:id => @project) + assert !File.exist?(zip_file_path) + ensure + FileUtils.rm_rf(zip_file_path) + end + def test_add_email_forbidden get :add_email, :params => {id: @project.id}, :xhr => true assert_response :forbidden