From d6ee91342af8385ec5b38372e528d8b3bc6a95d1 Mon Sep 17 00:00:00 2001 From: Daniel Munn Date: Mon, 18 Jun 2012 23:12:34 +0100 Subject: [PATCH] Updating code to fix issues related to #5 --- app/models/dmsf_file.rb | 19 +++++++++++++------ lib/redmine_dmsf/webdav/dmsf_resource.rb | 2 ++ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/app/models/dmsf_file.rb b/app/models/dmsf_file.rb index 76c9cd9a..90ad62e5 100644 --- a/app/models/dmsf_file.rb +++ b/app/models/dmsf_file.rb @@ -53,13 +53,20 @@ class DmsfFile < ActiveRecord::Base :datetime => Proc.new {|o| o.updated_at }, :author => Proc.new {|o| o.last_revision.user } - #TODO: place into better place + + @@storage_path = Setting.plugin_redmine_dmsf["dmsf_storage_directory"].strip + def self.storage_path - storage_dir = Setting.plugin_redmine_dmsf["dmsf_storage_directory"].strip - if !File.exists?(storage_dir) - Dir.mkdir(storage_dir) + if !File.exists?(@@storage_path) + Dir.mkdir(@@storage_path) end - storage_dir + @@storage_path + end + + # Lets introduce a write for storage path, that way we can also + # better interact from test-cases etc + def self.storage_path=(obj) + @@storage_path = obj end def self.project_root_files(project) @@ -384,4 +391,4 @@ class DmsfFile < ActiveRecord::Base [results, results_count] end -end \ No newline at end of file +end diff --git a/lib/redmine_dmsf/webdav/dmsf_resource.rb b/lib/redmine_dmsf/webdav/dmsf_resource.rb index 9a155b0d..8ad2892c 100644 --- a/lib/redmine_dmsf/webdav/dmsf_resource.rb +++ b/lib/redmine_dmsf/webdav/dmsf_resource.rb @@ -193,8 +193,10 @@ module RedmineDmsf # Process incoming MKCOL request # # Create a DmsfFolder at location requested, only if parent is a folder (or root) + # - 2012-06-18: Ensure item is only functional if project is enabled for dmsf def make_collection if (request.body.read.to_s == '') + raise NotFound if project.nil? || project.id.nil? || project.module_enabled?('dmsf').nil? raise Forbidden unless User.current.admin? || User.current.allowed_to?(:folder_manipulation, project) return MethodNotAllowed if exist? #If we already exist, why waste the time trying to save? parent_folder = nil