diff --git a/lib/redmine_dmsf/webdav/controller.rb b/lib/redmine_dmsf/webdav/controller.rb index 4d140b1a..dfbfaeea 100644 --- a/lib/redmine_dmsf/webdav/controller.rb +++ b/lib/redmine_dmsf/webdav/controller.rb @@ -115,11 +115,11 @@ module RedmineDmsf # Don't know when projects are added/removed from the visibility list for this user, # so don't cache root. elsif (pinfo.length == 1) #This is first level, and as such, project path - propfind_key = "PROPFIND/#{resource.resource.project.id}" + propfind_key = "PROPFIND/#{resource.resource.project_id}" else # We made it all the way to DMSF Data if resource.collection? # Only store collections in the cache since responses to files are simple and fast already. - propfind_key = "PROPFIND/#{resource.resource.project.id}/#{resource.resource.dmsf_folder_id}" + propfind_key = "PROPFIND/#{resource.resource.project_id}/#{resource.resource.folder.id}" end end end diff --git a/lib/redmine_dmsf/webdav/dmsf_resource.rb b/lib/redmine_dmsf/webdav/dmsf_resource.rb index 64e67b80..46d4163d 100644 --- a/lib/redmine_dmsf/webdav/dmsf_resource.rb +++ b/lib/redmine_dmsf/webdav/dmsf_resource.rb @@ -632,6 +632,10 @@ module RedmineDmsf end end + def project_id + self.project.id if self.project + end + private # Prepare file for download using Rack functionality: # Download (see RedmineDmsf::Webdav::Download) extends Rack::File to allow single-file diff --git a/lib/redmine_dmsf/webdav/project_resource.rb b/lib/redmine_dmsf/webdav/project_resource.rb index 932d7ca3..5aeebcd9 100644 --- a/lib/redmine_dmsf/webdav/project_resource.rb +++ b/lib/redmine_dmsf/webdav/project_resource.rb @@ -100,10 +100,15 @@ module RedmineDmsf def folder nil end + def file nil end + def project_id + self.project.id if self.project + end + end end end