From 7e2fbcb395e73fb755d3a035f1d8d40228e89491 Mon Sep 17 00:00:00 2001 From: "karel.picman@lbcfree.net" Date: Sat, 17 Oct 2020 08:41:08 +0200 Subject: [PATCH] #1179 deleting folders --- app/models/dmsf_folder.rb | 2 +- .../webdav/dmsf_webdav_mkcol_test.rb | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/app/models/dmsf_folder.rb b/app/models/dmsf_folder.rb index 855982ec..20477e97 100644 --- a/app/models/dmsf_folder.rb +++ b/app/models/dmsf_folder.rb @@ -44,7 +44,7 @@ class DmsfFolder < ActiveRecord::Base class_name: 'DmsfLock', foreign_key: 'entity_id', dependent: :destroy has_many :dmsf_folder_permissions, dependent: :destroy - INVALID_CHARACTERS = '\/\\\?":<>#%\*' + INVALID_CHARACTERS = '\[\]\/\\\?":<>#%\*' STATUS_DELETED = 1 STATUS_ACTIVE = 0 AVAILABLE_COLUMNS = %w(id title size modified version workflow author).freeze diff --git a/test/integration/webdav/dmsf_webdav_mkcol_test.rb b/test/integration/webdav/dmsf_webdav_mkcol_test.rb index 2d68f06b..e5106f1d 100644 --- a/test/integration/webdav/dmsf_webdav_mkcol_test.rb +++ b/test/integration/webdav/dmsf_webdav_mkcol_test.rb @@ -76,4 +76,24 @@ class DmsfWebdavMkcolTest < RedmineDmsf::Test::IntegrationTest assert_response :success end + def test_create_folder_with_square_brackets_of_the_same_name_as_a_sub_project + project3_uri = ERB::Util.url_encode(RedmineDmsf::Webdav::ProjectResource.create_project_name(@project3)) + process :mkcol, "/dmsf/webdav/#{@project1.identifier}/#{project3_uri}", params: nil, + headers: @admin + assert_response :method_not_allowed + end + + def test_create_folder_of_the_same_name_as_a_sub_project + process :mkcol, "/dmsf/webdav/#{@project1.identifier}/#{@project3.identifier}", params: nil, + headers: @admin + assert_response :method_not_allowed + end + + def test_create_folder_with_square_brackets + folder_name = ERB::Util.url_encode('[new folder]') + process :mkcol, "/dmsf/webdav/#{@project1.identifier}/#{folder_name}", params: nil, + headers: @admin + assert_response :conflict # Square brackets are not allowed in project names + end + end \ No newline at end of file