#1217 Sub-projects always enabled in the global view

This commit is contained in:
karel.picman@lbcfree.net 2021-03-16 14:13:55 +01:00
parent 9981d1fa1d
commit 2234373649
5 changed files with 22 additions and 20 deletions

View File

@ -57,12 +57,14 @@ class DmsfController < ApplicationController
end
@query.dmsf_folder_id = @folder&.id
@query.deleted = false
@query.sub_projects = true
respond_to do |format|
format.js { render action: 'query_rows' }
end
end
def index
@query.sub_projects = true
show
end
@ -74,6 +76,7 @@ class DmsfController < ApplicationController
@trash_enabled = @folder_manipulation_allowed && @file_manipulation_allowed
@query.dmsf_folder_id = @folder ? @folder.id : nil
@query.deleted = false
@query.sub_projects |= (Setting.plugin_redmine_dmsf['dmsf_projects_as_subfolders'] == '1')
if (@folder && @folder.deleted?) || (params[:folder_title].present? && !@folder)
render_404
return

View File

@ -86,9 +86,14 @@ module DmsfQueriesHelper
when :title
case item.type
when 'project'
tag = link_to(h("[#{value}]"), dmsf_folder_path(id: item.project), class: 'icon icon-folder')
tag = h("[#{value}]")
if item.project.module_enabled?(:dmsf)
tag = link_to(tag, dmsf_folder_path(id: item.project), class: 'icon icon-folder')
else
tag = content_tag('span', tag, class: 'icon icon-folder')
end
unless filter_any?
tag = "<span class=\"dmsf_expander\" onclick=\"dmsfToggle(this, '#{item.id}', null,'#{escape_javascript(expand_folder_dmsf_path)}')\"></span>".html_safe + tag
tag = "<span class=\"dmsf-expander\" onclick=\"dmsfToggle(this, '#{item.id}', null,'#{escape_javascript(expand_folder_dmsf_path)}')\"></span>".html_safe + tag
end
tag + content_tag('div', item.filename, class: 'dmsf-filename', title: l(:title_filename_for_download))
when 'folder'
@ -97,7 +102,7 @@ module DmsfQueriesHelper
else
tag = link_to(h(value), dmsf_folder_path(id: item.project, folder_id: item.id), class: 'icon icon-folder')
unless filter_any?
tag = "<span class=\"dmsf_expander\" onclick=\"dmsfToggle(this, '#{item.project.id}', '#{item.id}','#{escape_javascript(expand_folder_dmsf_path)}')\"></span>".html_safe + tag
tag = "<span class=\"dmsf-expander\" onclick=\"dmsfToggle(this, '#{item.project.id}', '#{item.id}','#{escape_javascript(expand_folder_dmsf_path)}')\"></span>".html_safe + tag
end
end
tag + content_tag('div', item.filename, class: 'dmsf-filename', title: l(:title_filename_for_download))
@ -108,7 +113,7 @@ module DmsfQueriesHelper
# For links we use revision_id containing dmsf_folder.id in fact
tag = link_to(h(value), dmsf_folder_path(id: item.project, folder_id: item.revision_id), class: 'icon icon-folder')
unless filter_any?
tag = "<span class=\"dmsf_expander\"></span>".html_safe + tag
tag = "<span class=\"dmsf-expander\"></span>".html_safe + tag
end
end
tag + content_tag('div', item.filename, class: 'dmsf-filename', title: l(:label_target_folder))
@ -124,7 +129,7 @@ module DmsfQueriesHelper
class: "icon icon-file #{DmsfHelper.filetype_css(item.filename)}",
'data-downloadurl': "#{content_type}:#{h(value)}:#{file_view_url}")
unless filter_any?
tag = "<span class=\"dmsf_expander\"></span>".html_safe + tag
tag = "<span class=\"dmsf-expander\"></span>".html_safe + tag
end
end
tag + content_tag('div', item.filename, class: 'dmsf-filename', title: l(:title_filename_for_download))
@ -134,7 +139,7 @@ module DmsfQueriesHelper
else
tag = link_to(h(value), item.filename, target: '_blank', class: 'icon icon-link')
unless filter_any?
tag = "<span class=\"dmsf_expander\"></span>".html_safe + tag
tag = "<span class=\"dmsf-expander\"></span>".html_safe + tag
end
end
tag + content_tag('div', item.filename, class: 'dmsf-filename', title: l(:field_url))

View File

@ -22,7 +22,7 @@
class DmsfQuery < Query
attr_accessor :dmsf_folder_id, :deleted
attr_accessor :dmsf_folder_id, :deleted, :sub_projects
self.queried_class = DmsfFolder
self.view_permission = :view_dmsf_files
@ -190,7 +190,7 @@ class DmsfQuery < Query
private
def dmsf_projects_scope
return nil if(project && !Setting.plugin_redmine_dmsf['dmsf_projects_as_subfolders'])
return nil unless sub_projects
cf_columns = +''
if statement.present?
DmsfFileRevisionCustomField.visible.order(:position).pluck(:id).each do |id|

View File

@ -201,7 +201,6 @@ div[id*="revision_access_"] {
.dmsf-gray a, .dmsf-gray a:link, .dmsf-gray a:visited {
color: #484848;
text-decoration: none;
}
/* System folders */
@ -209,23 +208,18 @@ div[id*="revision_access_"] {
color: #5C82AD
}
.dmsf-system a, .dmsf-gray a:link, .dmsf-gray a:visited {
color: #484848;
text-decoration: none;
}
/* Search results */
.icon-dmsf-file { background-image: url(../../../images/document.png); }
/* DMSF tree view */
.dmsf-hidden { display:none; }
.dmsf-tree:not(.dmsf-child) span.dmsf_expander { cursor: pointer; }
.dmsf-tree.dmsf-expanded td.dmsf-title span {
.dmsf-tree:not(.dmsf-child) span.dmsf-expander { cursor: pointer; }
.dmsf-tree.dmsf-expanded span.dmsf-expander {
background: url(../../../images/arrow_down.png) no-repeat 0 50%;
padding-left: 16px;
}
.dmsf-tree.dmsf-child .dmsf-title span { padding-left: 16px; }
.dmsf-tree.dmsf-collapsed .dmsf-title span {
.dmsf-tree.dmsf-child span.dmsf-expander { padding-left: 16px; }
.dmsf-tree.dmsf-collapsed span.dmsf-expander {
background: url(../../../images/arrow_right.png) no-repeat 0 50%;
padding-left: 16px;
}

View File

@ -206,7 +206,7 @@ class DmsfControllerTest < RedmineDmsf::Test::TestCase
assert_select 'a.csv'
# 'Zero Size File' document and an expander is present
assert_select 'a', text: @file10.title
assert_select 'span.dmsf_expander'
assert_select 'span.dmsf-expander'
end
def test_show_filters_found
@ -215,7 +215,7 @@ class DmsfControllerTest < RedmineDmsf::Test::TestCase
# 'Zero Size File' document
assert_select 'a', text: @file10.title
# No expander if a filter is set
assert_select 'span.dmsf_expander', count: 0
assert_select 'span.dmsf-expander', count: 0
end
def test_show_filters_not_found