Renamed create_display_name to create_project_name, added PROJECT_NAME_FILTER.
This commit is contained in:
parent
f4ca9a6273
commit
75f644970b
@ -95,7 +95,7 @@ module RedmineDmsf
|
||||
end
|
||||
|
||||
def child_project(p)
|
||||
project_display_name = ProjectResource.create_display_name(p)
|
||||
project_display_name = ProjectResource.create_project_name(p)
|
||||
|
||||
new_public = public_path.dup
|
||||
new_public = new_public + '/' unless new_public[-1,1] == '/'
|
||||
|
||||
@ -72,7 +72,7 @@ module RedmineDmsf
|
||||
end
|
||||
|
||||
def name
|
||||
ProjectResource.create_display_name(project)
|
||||
ProjectResource.create_project_name(project)
|
||||
end
|
||||
|
||||
def long_name
|
||||
@ -109,15 +109,17 @@ module RedmineDmsf
|
||||
self.project.id if self.project
|
||||
end
|
||||
|
||||
def self.create_display_name(p)
|
||||
# Characters that MATCH this regex will be replaced by '_'
|
||||
PROJECT_NAME_FILTER = /\W/
|
||||
|
||||
def self.create_project_name(p)
|
||||
use_project_names = Setting.plugin_redmine_dmsf['dmsf_webdav_use_project_names']
|
||||
if use_project_names
|
||||
"#{p.name.gsub(/\W/, "_")} [#{p.id}]" unless p.nil?
|
||||
"#{p.name.gsub(PROJECT_NAME_FILTER, "_")} [#{p.id}]" unless p.nil?
|
||||
else
|
||||
p.identifier unless p.nil?
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
@ -179,7 +179,7 @@ class DmsfWebdavDeleteTest < RedmineDmsf::Test::IntegrationTest
|
||||
delete "/dmsf/webdav/#{@project1.identifier}/#{@folder6.title}", nil, @jsmith
|
||||
assert_response 404
|
||||
|
||||
p1name = RedmineDmsf::Webdav::ProjectResource.create_display_name(@project1)
|
||||
p1name = RedmineDmsf::Webdav::ProjectResource.create_project_name(@project1)
|
||||
p1name_uri = URI.encode(p1name, /\W/)
|
||||
delete "/dmsf/webdav/#{p1name_uri}/#{@folder6.title}", nil, @jsmith
|
||||
assert_response :success
|
||||
@ -218,7 +218,7 @@ class DmsfWebdavDeleteTest < RedmineDmsf::Test::IntegrationTest
|
||||
delete "/dmsf/webdav/#{@project1.identifier}/#{@file1.name}", nil, @jsmith
|
||||
assert_response 404
|
||||
|
||||
p1name = RedmineDmsf::Webdav::ProjectResource.create_display_name(@project1)
|
||||
p1name = RedmineDmsf::Webdav::ProjectResource.create_project_name(@project1)
|
||||
p1name_uri = URI.encode(p1name, /\W/)
|
||||
|
||||
delete "/dmsf/webdav/#{p1name_uri}/#{@file1.name}", nil, @jsmith
|
||||
|
||||
@ -66,7 +66,7 @@ class DmsfWebdavGetTest < RedmineDmsf::Test::IntegrationTest
|
||||
assert !response.body.match(@project1.identifier).nil?, "Expected to find project #{@project1.identifier} in return data"
|
||||
|
||||
Setting.plugin_redmine_dmsf['dmsf_webdav_use_project_names'] = true
|
||||
project1_uri = RedmineDmsf::Webdav::ProjectResource.create_display_name(@project1)
|
||||
project1_uri = RedmineDmsf::Webdav::ProjectResource.create_project_name(@project1)
|
||||
|
||||
get '/dmsf/webdav', nil, @admin
|
||||
assert_response :success
|
||||
@ -96,7 +96,7 @@ class DmsfWebdavGetTest < RedmineDmsf::Test::IntegrationTest
|
||||
assert_response :success
|
||||
|
||||
Setting.plugin_redmine_dmsf['dmsf_webdav_use_project_names'] = true
|
||||
project1_uri = URI.encode(RedmineDmsf::Webdav::ProjectResource.create_display_name(@project1), /\W/)
|
||||
project1_uri = URI.encode(RedmineDmsf::Webdav::ProjectResource.create_project_name(@project1), /\W/)
|
||||
|
||||
get "/dmsf/webdav/#{@project1.identifier}/test.txt", nil, @admin
|
||||
assert_response 404
|
||||
|
||||
@ -35,7 +35,7 @@ class DmsfWebdavHeadTest < RedmineDmsf::Test::IntegrationTest
|
||||
Setting.plugin_redmine_dmsf['dmsf_webdav_strategy'] = 'WEBDAV_READ_WRITE'
|
||||
# Temporarily enable project names
|
||||
Setting.plugin_redmine_dmsf['dmsf_webdav_use_project_names'] = true
|
||||
@project1_uri = URI.encode(RedmineDmsf::Webdav::ProjectResource.create_display_name(@project1), /\W/)
|
||||
@project1_uri = URI.encode(RedmineDmsf::Webdav::ProjectResource.create_project_name(@project1), /\W/)
|
||||
Setting.plugin_redmine_dmsf['dmsf_webdav_use_project_names'] = false
|
||||
DmsfFile.storage_path = File.expand_path '../../../fixtures/files', __FILE__
|
||||
User.current = nil
|
||||
|
||||
@ -105,7 +105,7 @@ class DmsfWebdavMkcolTest < RedmineDmsf::Test::IntegrationTest
|
||||
assert_response :success
|
||||
|
||||
Setting.plugin_redmine_dmsf['dmsf_webdav_use_project_names'] = true
|
||||
project1_uri = URI.encode(RedmineDmsf::Webdav::ProjectResource.create_display_name(@project1), /\W/)
|
||||
project1_uri = URI.encode(RedmineDmsf::Webdav::ProjectResource.create_project_name(@project1), /\W/)
|
||||
|
||||
xml_http_request :mkcol, "/dmsf/webdav/#{@project1.identifier}/test2", nil, @jsmith
|
||||
assert_response 404
|
||||
|
||||
@ -135,7 +135,7 @@ class DmsfWebdavMoveTest < RedmineDmsf::Test::IntegrationTest
|
||||
def test_move_to_new_filename_with_project_names
|
||||
file = DmsfFile.find_by_id 1
|
||||
Setting.plugin_redmine_dmsf['dmsf_webdav_use_project_names'] = true
|
||||
project1_uri = URI.encode(RedmineDmsf::Webdav::ProjectResource.create_display_name(@project1), /\W/)
|
||||
project1_uri = URI.encode(RedmineDmsf::Webdav::ProjectResource.create_project_name(@project1), /\W/)
|
||||
|
||||
new_name = "#{file.name}.moved"
|
||||
assert_difference 'file.dmsf_file_revisions.count', +1 do
|
||||
@ -179,7 +179,7 @@ class DmsfWebdavMoveTest < RedmineDmsf::Test::IntegrationTest
|
||||
file = DmsfFile.find_by_id 1
|
||||
folder = DmsfFolder.find_by_id 1
|
||||
Setting.plugin_redmine_dmsf['dmsf_webdav_use_project_names'] = true
|
||||
project1_uri = URI.encode(RedmineDmsf::Webdav::ProjectResource.create_display_name(@project1), /\W/)
|
||||
project1_uri = URI.encode(RedmineDmsf::Webdav::ProjectResource.create_project_name(@project1), /\W/)
|
||||
assert_kind_of DmsfFile, file
|
||||
assert_kind_of DmsfFolder, folder
|
||||
|
||||
|
||||
@ -149,7 +149,7 @@ class DmsfWebdavOptionsTest < RedmineDmsf::Test::IntegrationTest
|
||||
assert_response :success
|
||||
|
||||
Setting.plugin_redmine_dmsf['dmsf_webdav_use_project_names'] = true
|
||||
project1_uri = URI.encode(RedmineDmsf::Webdav::ProjectResource.create_display_name(@project1), /\W/)
|
||||
project1_uri = URI.encode(RedmineDmsf::Webdav::ProjectResource.create_project_name(@project1), /\W/)
|
||||
|
||||
xml_http_request :options, "/dmsf/webdav/#{@project1.identifier}", nil, @admin.merge!({:HTTP_USER_AGENT => "Other"})
|
||||
assert_response 404
|
||||
|
||||
@ -125,8 +125,8 @@ class DmsfWebdavPropfindTest < RedmineDmsf::Test::IntegrationTest
|
||||
assert_no_match "<D:displayname>#{@project1.identifier}</D:displayname>", response.body
|
||||
|
||||
# but the project name should match
|
||||
p1name = RedmineDmsf::Webdav::ProjectResource.create_display_name(@project1)
|
||||
p1name_uri = URI.encode(p1name, /\W/)
|
||||
p1name = RedmineDmsf::Webdav::ProjectResource.create_project_name(@project1)
|
||||
p1name_uri = URI.encode(p1name, RedmineDmsf::Webdav::ProjectResource::PROJECT_NAME_FILTER)
|
||||
assert_match "<D:href>http://www.example.com:80/dmsf/webdav/#{p1name_uri}/</D:href>", response.body
|
||||
assert_match "<D:displayname>#{p1name}</D:displayname>", response.body
|
||||
end
|
||||
@ -167,8 +167,8 @@ class DmsfWebdavPropfindTest < RedmineDmsf::Test::IntegrationTest
|
||||
@admin.merge!({:HTTP_DEPTH => "0"})
|
||||
assert_response 404
|
||||
|
||||
p1name = RedmineDmsf::Webdav::ProjectResource.create_display_name(@project1)
|
||||
p1name_uri = URI.encode(p1name, /\W/)
|
||||
p1name = RedmineDmsf::Webdav::ProjectResource.create_project_name(@project1)
|
||||
p1name_uri = URI.encode(p1name, RedmineDmsf::Webdav::ProjectResource::PROJECT_NAME_FILTER)
|
||||
|
||||
xml_http_request :propfind, "/dmsf/webdav/#{p1name_uri}", nil,
|
||||
@admin.merge!({:HTTP_DEPTH => "0"})
|
||||
@ -212,8 +212,8 @@ class DmsfWebdavPropfindTest < RedmineDmsf::Test::IntegrationTest
|
||||
@admin.merge!({:HTTP_DEPTH => "1"})
|
||||
assert_response 404
|
||||
|
||||
p1name = RedmineDmsf::Webdav::ProjectResource.create_display_name(@project1)
|
||||
p1name_uri = URI.encode(p1name, /\W/)
|
||||
p1name = RedmineDmsf::Webdav::ProjectResource.create_project_name(@project1)
|
||||
p1name_uri = URI.encode(p1name, RedmineDmsf::Webdav::ProjectResource::PROJECT_NAME_FILTER)
|
||||
|
||||
xml_http_request :propfind, "/dmsf/webdav/#{p1name_uri}", nil,
|
||||
@admin.merge!({:HTTP_DEPTH => "1"})
|
||||
@ -248,7 +248,6 @@ class DmsfWebdavPropfindTest < RedmineDmsf::Test::IntegrationTest
|
||||
assert_match "<D:displayname>#{@file10.name}</D:displayname>", response.body
|
||||
end
|
||||
|
||||
|
||||
def test_propfind_depth0_on_project1_for_admin_with_cache
|
||||
RedmineDmsf::Webdav::Cache.init_testcache
|
||||
|
||||
|
||||
@ -101,7 +101,7 @@ class DmsfWebdavPutTest < RedmineDmsf::Test::IntegrationTest
|
||||
assert file, 'Check for files existance'
|
||||
|
||||
Setting.plugin_redmine_dmsf['dmsf_webdav_use_project_names'] = true
|
||||
project1_uri = URI.encode(RedmineDmsf::Webdav::ProjectResource.create_display_name(@project1), /\W/)
|
||||
project1_uri = URI.encode(RedmineDmsf::Webdav::ProjectResource.create_project_name(@project1), /\W/)
|
||||
|
||||
put "/dmsf/webdav/#{@project1.identifier}/test-1234.txt", '1234', @admin.merge!({:content_type => :text})
|
||||
assert_response 409
|
||||
@ -154,7 +154,7 @@ class DmsfWebdavPutTest < RedmineDmsf::Test::IntegrationTest
|
||||
assert file, 'File test-1234 was not found in projects dmsf folder.'
|
||||
|
||||
Setting.plugin_redmine_dmsf['dmsf_webdav_use_project_names'] = true
|
||||
project1_uri = URI.encode(RedmineDmsf::Webdav::ProjectResource.create_display_name(@project1), /\W/)
|
||||
project1_uri = URI.encode(RedmineDmsf::Webdav::ProjectResource.create_project_name(@project1), /\W/)
|
||||
put "/dmsf/webdav/#{@project1.identifier}/test-1234.txt", '1234', @jsmith.merge!({:content_type => :text})
|
||||
assert_response 409
|
||||
put "/dmsf/webdav/#{project1_uri}/test-1234.txt", '1234', @jsmith.merge!({:content_type => :text})
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user