From 6ea7790305a39af2d50c60b8e56c25901cde8d0e Mon Sep 17 00:00:00 2001 From: Karel Picman Date: Fri, 17 Mar 2017 13:21:40 +0100 Subject: [PATCH] 'Save as' from Excel does not work when using project names #700 --- app/models/dmsf_folder.rb | 2 +- lib/redmine_dmsf/webdav/project_resource.rb | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/app/models/dmsf_folder.rb b/app/models/dmsf_folder.rb index 45199de4..50cc8489 100644 --- a/app/models/dmsf_folder.rb +++ b/app/models/dmsf_folder.rb @@ -43,7 +43,7 @@ class DmsfFolder < ActiveRecord::Base has_many :locks, -> { where(entity_type: 1).order("#{DmsfLock.table_name}.updated_at DESC") }, :class_name => 'DmsfLock', :foreign_key => 'entity_id', :dependent => :destroy - INVALID_CHARACTERS = /\A[^\/\\\?":<>#%\*]*\z/.freeze + INVALID_CHARACTERS = /\A[^\[\]\/\\\?":<>#%\*]*\z/.freeze STATUS_DELETED = 1.freeze STATUS_ACTIVE = 0.freeze AVAILABLE_COLUMNS = %w(id title extension size modified version workflow author).freeze diff --git a/lib/redmine_dmsf/webdav/project_resource.rb b/lib/redmine_dmsf/webdav/project_resource.rb index dfce0434..c6b93eff 100644 --- a/lib/redmine_dmsf/webdav/project_resource.rb +++ b/lib/redmine_dmsf/webdav/project_resource.rb @@ -115,9 +115,6 @@ module RedmineDmsf def project_id self.project.id if self.project end - - # Characters that MATCH this regex will be replaced with dots, no more than one dot in a row. - INVALID_CHARACTERS = /[\/\\\?":<>#%\*]/.freeze # = / \ ? " : < > # % * def self.create_project_name(p) use_project_names = Setting.plugin_redmine_dmsf['dmsf_webdav_use_project_names'] @@ -125,7 +122,7 @@ module RedmineDmsf # 1. Invalid characters are replaced with a dot. # 2. Two or more dots in a row are replaced with a single dot. # (3. Windows WebClient does not like a dot at the end, but since the project id tag is appended this is not a problem.) - "#{p.name.gsub(INVALID_CHARACTERS, ".").gsub(/\.{2,}/, ".")} [#{p.id}]" unless p.nil? + "#{p.name.gsub(DmsfFolder.INVALID_CHARACTERS, ".").gsub(/\.{2,}/, '.')} #{p.id}" unless p.nil? else p.identifier unless p.nil? end