diff --git a/app/models/dmsf_link.rb b/app/models/dmsf_link.rb index 1d4fdf20..fdd97fe3 100644 --- a/app/models/dmsf_link.rb +++ b/app/models/dmsf_link.rb @@ -71,11 +71,14 @@ class DmsfLink < ActiveRecord::Base end def path - file = self.target_file - if file - path = file.dmsf_path.map { |element| element.is_a?(DmsfFile) ? element.name : element.title }.join('/') if file - path = "#{self.target_project.name}:#{path}" if self.project_id != self.target_project_id + if self.target_type == DmsfFile.model_name + file = self.target_file + path = file.dmsf_path.map { |element| element.is_a?(DmsfFile) ? element.name : element.title }.join('/') if file + else + folder = self.target_folder + path = folder.dmsf_path_str if folder end + path.insert(0, "#{self.target_project.name}:") if self.project_id != self.target_project_id && path path end diff --git a/app/views/dmsf/_dir.html.erb b/app/views/dmsf/_dir.html.erb index 5dd597a4..0c875c12 100644 --- a/app/views/dmsf/_dir.html.erb +++ b/app/views/dmsf/_dir.html.erb @@ -26,8 +26,12 @@ <%= link_to(h(title), dmsf_folder_path(:id => project, :folder_id => subfolder), - :class => 'icon icon-folder') %> -
[<%= subfolder.files.visible.count %>]
+ :class => 'icon icon-folder') %> + <% if link %> +
<%= link.path %>
+ <% else %> +
[<%= subfolder.files.visible.count %>]
+ <% end %> <%= format_time(subfolder.updated_at) %> diff --git a/test/unit/dmsf_links_test.rb b/test/unit/dmsf_links_test.rb index 2747a0c2..d3665737 100644 --- a/test/unit/dmsf_links_test.rb +++ b/test/unit/dmsf_links_test.rb @@ -140,6 +140,8 @@ class DmsfLinksTest < RedmineDmsf::Test::UnitTest def test_path assert_equal @file_link.path, @file_link.target_file.dmsf_path_str + assert_equal @folder_link.path, + @folder_link.target_folder.dmsf_path_str end def test_destroy