Inconsistent default values in settings #1577
This commit is contained in:
parent
638fb90e6a
commit
8ddab40673
@ -45,7 +45,7 @@ module DmsfUploadHelper
|
||||
file.project_id = project.id
|
||||
file.name = name
|
||||
file.dmsf_folder = folder
|
||||
file.notification = Setting.plugin_redmine_dmsf['dmsf_default_notifications'].present?
|
||||
file.notification = RedmineDmsf.dmsf_default_notifications?
|
||||
end
|
||||
if file.locked_for_user?
|
||||
failed_uploads.push file
|
||||
|
||||
@ -89,8 +89,7 @@ class DmsfFile < ApplicationRecord
|
||||
end
|
||||
|
||||
def default_values
|
||||
return unless Setting.plugin_redmine_dmsf['dmsf_default_notifications'].present? &&
|
||||
(!dmsf_folder || !dmsf_folder.system)
|
||||
return unless RedmineDmsf.dmsf_default_notifications? && (!dmsf_folder || !dmsf_folder.system)
|
||||
|
||||
self.notification = true
|
||||
end
|
||||
@ -289,7 +288,7 @@ class DmsfFile < ApplicationRecord
|
||||
end
|
||||
end
|
||||
file.name = filename
|
||||
file.notification = Setting.plugin_redmine_dmsf['dmsf_default_notifications'].present?
|
||||
file.notification = RedmineDmsf.dmsf_default_notifications?
|
||||
if file.save && last_revision
|
||||
new_revision = last_revision.clone
|
||||
new_revision.dmsf_file = file
|
||||
|
||||
@ -400,7 +400,7 @@ class DmsfFileRevision < ApplicationRecord
|
||||
d.source_revision = source_revision
|
||||
d.save!
|
||||
end
|
||||
return unless Setting.plugin_redmine_dmsf['dmsf_really_delete_files']
|
||||
return unless RedmineDmsf.physical_file_delete?
|
||||
|
||||
dependencies = DmsfFileRevision.where(disk_filename: disk_filename).all.size
|
||||
FileUtils.rm_f(disk_file) if dependencies <= 1
|
||||
|
||||
@ -149,7 +149,7 @@ class DmsfFolder < ApplicationRecord
|
||||
end
|
||||
|
||||
def default_values
|
||||
self.notification = true if Setting.plugin_redmine_dmsf['dmsf_default_notifications'].present? && !system
|
||||
self.notification = true if RedmineDmsf.dmsf_default_notifications? && !system
|
||||
end
|
||||
|
||||
def locked_by
|
||||
|
||||
@ -34,38 +34,37 @@
|
||||
|
||||
<p>
|
||||
<%= content_tag :label, l(:label_maximum_files_download) %>
|
||||
<%= text_field_tag 'settings[dmsf_max_file_download]', @settings['dmsf_max_file_download'], size: 10 %>
|
||||
<%= text_field_tag 'settings[dmsf_max_file_download]', RedmineDmsf.dmsf_max_file_download, size: 10 %>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:note_maximum_number_of_files_downloaded) %> <%= l(:label_default) %>: 0
|
||||
<%= l(:note_maximum_number_of_files_downloaded) %><br>
|
||||
<%= l(:label_default) %>: 0
|
||||
</em>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<%= content_tag :label, l(:label_dmsf_max_notification_receivers_info) %>
|
||||
<% @settings['dmsf_max_notification_receivers_info'] ||= 10 %>
|
||||
<%= text_field_tag 'settings[dmsf_max_notification_receivers_info]', @settings['dmsf_max_notification_receivers_info'], size: 10 %>
|
||||
<%= text_field_tag 'settings[dmsf_max_notification_receivers_info]', RedmineDmsf.dmsf_max_notification_receivers_info,
|
||||
size: 10 %>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:note_dmsf_max_notification_receivers_info) %> <%= l(:label_default) %>: 10
|
||||
<%= l(:note_dmsf_max_notification_receivers_info) %><br>
|
||||
<%= l(:label_default) %>: 10
|
||||
</em>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<%= content_tag :label, l(:label_maximum_email_filesize) %>
|
||||
<%= text_field_tag 'settings[dmsf_max_email_filesize]', @settings['dmsf_max_email_filesize'], size: 10 %>
|
||||
<%= text_field_tag 'settings[dmsf_max_email_filesize]', RedmineDmsf.dmsf_max_email_filesize, size: 10 %>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:note_maximum_email_filesize) %> <%= l(:label_default) %>: 0
|
||||
<%= l(:note_maximum_email_filesize) %><br>
|
||||
<%= l(:label_default) %>: 0
|
||||
</em>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<%= content_tag :label, l(:label_file_storage_directory) %>
|
||||
<%
|
||||
storage_dir = @settings['dmsf_storage_directory'].strip if @settings['dmsf_storage_directory'].present?
|
||||
storage_dir = 'dmsf' if storage_dir.blank?
|
||||
%>
|
||||
<%= text_field_tag 'settings[dmsf_storage_directory]', storage_dir, size: 256 %>
|
||||
<%= text_field_tag 'settings[dmsf_storage_directory]', RedmineDmsf.dmsf_storage_directory, size: 256 %>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:label_default) %>: dmsf
|
||||
<%= l(:label_default) %>: files/dmsf
|
||||
</em>
|
||||
</p>
|
||||
<% unless File.exist?(DmsfFile.storage_path) %>
|
||||
@ -76,7 +75,7 @@
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% testfilename = DmsfFile.storage_path.join('test.test') %>
|
||||
<% if File.exist?(storage_dir) %>
|
||||
<% if File.exist?(RedmineDmsf.dmsf_storage_directory) %>
|
||||
<% begin %>
|
||||
<% File.open(testfilename, 'wb') {} %>
|
||||
<% rescue %>
|
||||
@ -88,20 +87,21 @@
|
||||
|
||||
<p>
|
||||
<%= content_tag :label, l(:label_dmsf_office_bin) %>
|
||||
<%= text_field_tag 'settings[office_bin]', @settings['office_bin'], size: 10 %>
|
||||
<%= text_field_tag 'settings[office_bin]', RedmineDmsf.office_bin, size: 10 %>
|
||||
<% unless RedmineDmsf::Preview.office_available? %>
|
||||
<span class="icon icon-warning">
|
||||
<small><%= l(:note_dmsf_office_bin_not_available, @settings['office_bin'] ||= 'libreoffice') %></small>
|
||||
<small><%= l(:note_dmsf_office_bin_not_available, RedmineDmsf.office_bin ||= 'libreoffice') %></small>
|
||||
</span>
|
||||
<% end %>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:note_dmsf_office_bin) %> <%= l(:label_default) %>: 'libreoffice'
|
||||
<%= l(:note_dmsf_office_bin) %><br>
|
||||
<%= l(:label_default) %>: 'libreoffice'
|
||||
</em>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<%= content_tag :label, l(:label_physical_file_delete) %>
|
||||
<%= check_box_tag 'settings[dmsf_really_delete_files]', true, @settings['dmsf_really_delete_files'] %>
|
||||
<%= check_box_tag 'settings[dmsf_really_delete_files]', '1', RedmineDmsf.physical_file_delete? %>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:label_default)%>: <%= l(:general_text_No)%>
|
||||
</em>
|
||||
@ -111,9 +111,9 @@
|
||||
<%= content_tag :label, l(:label_default_notifications) %>
|
||||
<%= select_tag 'settings[dmsf_default_notifications]',
|
||||
options_for_select([
|
||||
[l(:select_option_deactivated), nil],
|
||||
[l(:select_option_deactivated), '0'],
|
||||
[l(:select_option_activated), '1']],
|
||||
selected: @settings['dmsf_default_notifications']) %>
|
||||
selected: RedmineDmsf.dmsf_default_notifications? ? '1' : '0') %>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:label_default) %>: <%= l(:select_option_deactivated) %>
|
||||
</em>
|
||||
@ -123,17 +123,18 @@
|
||||
<%= content_tag :label, l(:label_display_notified_recipients) %>
|
||||
<%= select_tag 'settings[dmsf_display_notified_recipients]',
|
||||
options_for_select([
|
||||
[l(:select_option_deactivated), nil],
|
||||
[l(:select_option_deactivated), '0'],
|
||||
[l(:select_option_activated), '1']],
|
||||
selected: @settings['dmsf_display_notified_recipients']) %>
|
||||
selected: RedmineDmsf.dmsf_display_notified_recipients? ? '1' : '0') %>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:note_display_notified_recipients).html_safe %> <%= l(:label_default) %>: <%= l(:select_option_deactivated) %>
|
||||
<%= l(:note_display_notified_recipients) %><br>
|
||||
<%= l(:label_default) %>: <%= l(:select_option_deactivated) %>
|
||||
</em>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<%= content_tag :label, l(:label_title_format) %>
|
||||
<%= text_field_tag 'settings[dmsf_global_title_format]', @settings['dmsf_global_title_format'], size: 10 %>
|
||||
<%= text_field_tag 'settings[dmsf_global_title_format]', RedmineDmsf.dmsf_global_title_format, size: 10 %>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:text_title_format) %>
|
||||
</em>
|
||||
@ -141,7 +142,7 @@
|
||||
|
||||
<p>
|
||||
<%= content_tag :label, l(:label_act_as_attachable) %>
|
||||
<%= check_box_tag 'settings[dmsf_act_as_attachable]', true, @settings['dmsf_act_as_attachable'] %>
|
||||
<%= check_box_tag 'settings[dmsf_act_as_attachable]', '1', RedmineDmsf.dmsf_act_as_attachable? %>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:note_dmsf_act_as_attachable) %><br>
|
||||
<%= l(:label_default) %>: <%= l(:general_text_No) %>
|
||||
@ -150,7 +151,7 @@
|
||||
|
||||
<p>
|
||||
<%= content_tag :label, l(:label_dmsf_projects_as_subfolders) %>
|
||||
<%= check_box_tag 'settings[dmsf_projects_as_subfolders]', true, @settings['dmsf_projects_as_subfolders'] %>
|
||||
<%= check_box_tag 'settings[dmsf_projects_as_subfolders]', '1', RedmineDmsf.dmsf_projects_as_subfolders? %>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:note_dmsf_projects_as_subfolders) %><br>
|
||||
<%= l(:label_default) %>: <%= l(:general_text_No) %>
|
||||
@ -159,7 +160,7 @@
|
||||
|
||||
<p>
|
||||
<%= content_tag :label, l(:label_dmsf_global_menu_disabled) %>
|
||||
<%= check_box_tag 'settings[dmsf_global_menu_disabled]', true, @settings['dmsf_global_menu_disabled'] %>
|
||||
<%= check_box_tag 'settings[dmsf_global_menu_disabled]', '1', RedmineDmsf.dmsf_global_menu_disabled? %>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:note_dmsf_global_menu_disabled) %><br>
|
||||
<%= l(:label_default) %>: <%= l(:general_text_No) %>
|
||||
@ -168,7 +169,7 @@
|
||||
|
||||
<p>
|
||||
<%= content_tag :label, l(:label_empty_minor_version_by_default) %>
|
||||
<%= check_box_tag 'settings[empty_minor_version_by_default]', false, @settings['empty_minor_version_by_default'] %>
|
||||
<%= check_box_tag 'settings[empty_minor_version_by_default]', '1', RedmineDmsf.empty_minor_version_by_default? %>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:label_default) %>: <%= l(:general_text_No) %>
|
||||
</em>
|
||||
@ -176,7 +177,7 @@
|
||||
|
||||
<p>
|
||||
<%= content_tag :label, l(:label_remove_original_documents_module) %>
|
||||
<%= check_box_tag 'settings[remove_original_documents_module]', false, @settings['remove_original_documents_module'] %>
|
||||
<%= check_box_tag 'settings[remove_original_documents_module]', '1', RedmineDmsf.remove_original_documents_module? %>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:label_default) %>: <%= l(:general_text_No) %>
|
||||
</em>
|
||||
@ -187,14 +188,14 @@
|
||||
<%= l(:label_dmsf_columns) %>
|
||||
</em>
|
||||
|
||||
<%= render partial: 'settings/dmsf_columns', locals: { selected_columns: @settings['dmsf_columns'] } %>
|
||||
<%= render partial: 'settings/dmsf_columns', locals: { selected_columns: RedmineDmsf.dmsf_columns } %>
|
||||
|
||||
<p>
|
||||
<%= content_tag :label, l(:label_default_query) %>
|
||||
<% options = [[l(:label_none), nil]] %>
|
||||
<% options.concat DmsfQuery.only_public.where(project_id: nil).pluck(:name, :id) %>
|
||||
<%= select_tag 'settings[dmsf_default_query]',
|
||||
options_for_select(options, selected: @settings['dmsf_default_query']) %>
|
||||
options_for_select(options, selected: RedmineDmsf.dmsf_default_query) %>
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
@ -204,7 +205,7 @@
|
||||
|
||||
<p>
|
||||
<%= content_tag :label, l(:label_email_from_override) %>
|
||||
<%= text_field_tag 'settings[dmsf_documents_email_from]', @settings['dmsf_documents_email_from'], size: 128 %>
|
||||
<%= text_field_tag 'settings[dmsf_documents_email_from]', RedmineDmsf.dmsf_documents_email_from, size: 128 %>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:label_default) %>: <%= l(:text_email_from_override) %>
|
||||
</em>
|
||||
@ -212,7 +213,7 @@
|
||||
|
||||
<p>
|
||||
<%= content_tag :label, l(:label_email_reply_to) %>
|
||||
<%= text_field_tag 'settings[dmsf_documents_email_reply_to]', @settings['dmsf_documents_email_reply_to'], size: 128 %>
|
||||
<%= text_field_tag 'settings[dmsf_documents_email_reply_to]', RedmineDmsf.dmsf_documents_email_reply_to, size: 128 %>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:label_default) %>: <%= "''" %>
|
||||
</em>
|
||||
@ -220,7 +221,7 @@
|
||||
|
||||
<p>
|
||||
<%= content_tag :label, l(:label_links_only).capitalize %>
|
||||
<%= check_box_tag 'settings[dmsf_documents_email_links_only]', true, @settings['dmsf_documents_email_links_only'] %>
|
||||
<%= check_box_tag 'settings[dmsf_documents_email_links_only]', '1', RedmineDmsf.dmsf_documents_email_links_only? %>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:label_default) %>: <%= l(:general_text_No) %>
|
||||
</em>
|
||||
@ -233,7 +234,7 @@
|
||||
|
||||
<p>
|
||||
<%= content_tag :label, l(:label_dmsf_keep_documents_locked) %>
|
||||
<%= check_box_tag 'settings[dmsf_keep_documents_locked]', false, @settings['dmsf_keep_documents_locked'] %>
|
||||
<%= check_box_tag 'settings[dmsf_keep_documents_locked]', '1', RedmineDmsf.dmsf_keep_documents_locked? %>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:note_dmsf_keep_documents_locked) %><br>
|
||||
<%= l(:label_default)%>: <%= l(:general_text_No)%>
|
||||
@ -242,7 +243,7 @@
|
||||
|
||||
<p>
|
||||
<%= content_tag(:label, l(:only_approval_zero_minor_version)) %>
|
||||
<%= check_box_tag 'settings[only_approval_zero_minor_version]', false, @settings['only_approval_zero_minor_version'], size: 50 %>
|
||||
<%= check_box_tag 'settings[only_approval_zero_minor_version]', '1', RedmineDmsf.only_approval_zero_minor_version? %>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:only_approval_zero_minor_version) %><br> <%= l(:label_default) %>: <%= l(:general_text_No)%>
|
||||
</em>
|
||||
@ -255,36 +256,36 @@
|
||||
|
||||
<p>
|
||||
<%= content_tag :label, l(:label_webdav) %>
|
||||
<% webdav_disabled = Redmine::Plugin.installed?('easy_hosting_services') && EasyHostingServices::EasyMultiTenancy.activated? %>
|
||||
<% disabled = defined?(EasyExtensions) && !(Redmine::Plugin.installed?('easy_hosting_services') &&
|
||||
EasyHostingServices::EasyMultiTenancy.activated?) %>
|
||||
<%= select_tag 'settings[dmsf_webdav]',
|
||||
options_for_select([
|
||||
[l(:select_option_deactivated), nil],
|
||||
[l(:select_option_deactivated), '0'],
|
||||
[l(:select_option_activated), '1']],
|
||||
selected: webdav_disabled ? nil : @settings['dmsf_webdav']),
|
||||
disabled: webdav_disabled,
|
||||
selected: RedmineDmsf.dmsf_webdav? ? '1' : '0'),
|
||||
disabled: disabled,
|
||||
onchange: "$('#dmsf_webdav_block').toggle()" %>
|
||||
<em class="<%= klass %>">
|
||||
<% if webdav_disabled %>
|
||||
<% @settings['dmsf_webdav'] = nil %>
|
||||
<% if disabled %>
|
||||
<% @settings['dmsf_webdav'] = '0' %>
|
||||
<%= l(:note_webdav_disabled) %>
|
||||
<% else %>
|
||||
<%= l(:note_webdav, protocol: Setting.protocol, domain: Setting.host_name).html_safe %>
|
||||
<%= l(:label_default) %>: <%= l(:select_option_activated) %>
|
||||
<%= l(:note_webdav, protocol: Setting.protocol, domain: Setting.host_name) %><br>
|
||||
<%= l(:label_default) %>: <%= l(:select_option_deactivated) %>
|
||||
<% end %>
|
||||
</em>
|
||||
</p>
|
||||
|
||||
<% visible_class = @settings['dmsf_webdav'].blank? ? 'dmsf-hidden' : '' %>
|
||||
<% visible_class = RedmineDmsf.dmsf_webdav? ? '' : 'dmsf-hidden' %>
|
||||
|
||||
<div id="dmsf_webdav_block" class="<%= visible_class %>">
|
||||
<p>
|
||||
<%= content_tag :label, l(:label_webdav_authentication) %>
|
||||
<% auth_types = [%w[Basic Basic], %w[Digest Digest]] %>
|
||||
<% @settings['dmsf_webdav_authentication'] = 'Basic' if @settings['dmsf_webdav_authentication'].blank? %>
|
||||
<%= select_tag 'settings[dmsf_webdav_authentication]',
|
||||
options_for_select(auth_types, @settings['dmsf_webdav_authentication']) %>
|
||||
options_for_select(auth_types, RedmineDmsf.dmsf_webdav_authentication) %>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:note_webdav_authentication) %> <br>
|
||||
<%= l(:note_webdav_authentication) %><br>
|
||||
<%= l(:label_default)%>: <%= auth_types[1][0] %>
|
||||
</em>
|
||||
</p>
|
||||
@ -294,44 +295,47 @@
|
||||
options_for_select([
|
||||
[l(:select_option_webdav_readonly), 'WEBDAV_READ_ONLY'],
|
||||
[l(:select_option_webdav_readwrite), 'WEBDAV_READ_WRITE']],
|
||||
selected: @settings['dmsf_webdav_strategy']),
|
||||
onchange: "$('#dmsf_webdav_ro_block').toggle()" %>
|
||||
<br>
|
||||
selected: RedmineDmsf.dmsf_webdav_strategy),
|
||||
onchange: "$('#dmsf_webdav_ro_block').toggle()" %><br>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:note_webdav_strategy).html_safe %> <%= l(:label_default) %>: <%= l(:select_option_webdav_readonly) %>
|
||||
<%= l(:note_webdav_strategy) %><br>
|
||||
<%= l(:label_default) %>: <%= l(:select_option_webdav_readonly) %>
|
||||
</em>
|
||||
</p>
|
||||
|
||||
<% visible_class = (@settings['dmsf_webdav_strategy'] == 'WEBDAV_READ_ONLY') ? 'dmsf-hidden' : '' %>
|
||||
<% visible_class = (RedmineDmsf.dmsf_webdav_strategy == 'WEBDAV_READ_ONLY') ? 'dmsf-hidden' : '' %>
|
||||
|
||||
<div id="dmsf_webdav_ro_block" class="<%= visible_class %>">
|
||||
<p>
|
||||
<%= content_tag(:label, l(:label_webdav_ignore)) %>
|
||||
<%= text_field_tag 'settings[dmsf_webdav_ignore]', @settings['dmsf_webdav_ignore'], size: 50 %>
|
||||
<%= text_field_tag 'settings[dmsf_webdav_ignore]', RedmineDmsf.dmsf_webdav_ignore, size: 50 %>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:note_webdav_ignore) %> <%= l(:label_default) %>: ^(\._|\.DS_Store$|Thumbs.db$)
|
||||
</em>
|
||||
</p>
|
||||
<p>
|
||||
<%= content_tag(:label, l(:dmsf_webdav_ignore_1b_file_for_authentication)) %>
|
||||
<%= check_box_tag 'settings[dmsf_webdav_ignore_1b_file_for_authentication]', true, @settings['dmsf_webdav_ignore_1b_file_for_authentication'], size: 50 %>
|
||||
<%= check_box_tag 'settings[dmsf_webdav_ignore_1b_file_for_authentication]', '1',
|
||||
RedmineDmsf.dmsf_webdav_ignore_1b_file_for_authentication? %>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:dmsf_webdav_ignore_1b_file_for_authentication_info) %> <%= l(:label_default) %>: <%= l(:general_text_Yes)%>
|
||||
<%= l(:dmsf_webdav_ignore_1b_file_for_authentication_info) %><br>
|
||||
<%= l(:label_default) %>: <%= l(:general_text_Yes) %>
|
||||
</em>
|
||||
</p>
|
||||
<p>
|
||||
<%= content_tag :label, l(:label_webdav_disable_versioning) %>
|
||||
<%= text_field_tag 'settings[dmsf_webdav_disable_versioning]', @settings['dmsf_webdav_disable_versioning'], size: 50 %>
|
||||
<%= text_field_tag 'settings[dmsf_webdav_disable_versioning]', RedmineDmsf.dmsf_webdav_disable_versioning,
|
||||
size: 50 %>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:note_webdav_disable_versioning) %> <br>
|
||||
<%= l(:note_webdav_disable_versioning) %><br>
|
||||
<%= l(:label_default) %>: ^\~\$|\.tmp$
|
||||
</em>
|
||||
</p>
|
||||
<p>
|
||||
<%= content_tag :label, l(:label_webdav_use_project_names) %>
|
||||
<%= check_box_tag 'settings[dmsf_webdav_use_project_names]', true, @settings['dmsf_webdav_use_project_names'] %>
|
||||
<%= check_box_tag 'settings[dmsf_webdav_use_project_names]', '1', RedmineDmsf.dmsf_webdav_use_project_names? %>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:note_webdav_use_project_names) %> <br>
|
||||
<%= l(:note_webdav_use_project_names) %><br>
|
||||
<%= l(:label_default)%>: <%= l(:general_text_No) %>
|
||||
</em>
|
||||
</p>
|
||||
@ -362,7 +366,7 @@
|
||||
<% if RedmineDmsf::Plugin.xapian_available? %>
|
||||
<p>
|
||||
<%= content_tag :label, l(:label_index_database) %>
|
||||
<%= text_field_tag 'settings[dmsf_index_database]', @settings['dmsf_index_database'], size: 50 %>
|
||||
<%= text_field_tag 'settings[dmsf_index_database]', RedmineDmsf.dmsf_index_database, size: 50 %>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:label_default) %>: <%= File.expand_path('dmsf_index', Rails.root) %>
|
||||
</em>
|
||||
@ -373,22 +377,23 @@
|
||||
|
||||
<p>
|
||||
<%= content_tag :label, l(:label_stemming_language) %>
|
||||
<%= select_tag 'settings[dmsf_stemming_lang]', options_for_select(stem_langs, @settings['dmsf_stemming_lang']) %>
|
||||
<%= select_tag 'settings[dmsf_stemming_lang]', options_for_select(stem_langs, RedmineDmsf.dmsf_stemming_lang) %>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:note_possible_values) %>: <%= stem_langs.join(', ') %>. <%= "#{l(:label_default)}: #{stem_langs[2]}" %>
|
||||
<%= l(:note_possible_values) %>: <%= stem_langs.join(', ') %>.<br>
|
||||
<%= "#{l(:label_default)}: #{stem_langs[2]}" %>
|
||||
</em>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<%= content_tag :label, l(:label_stem_strategy) %>
|
||||
<%= radio_button_tag 'settings[dmsf_stemming_strategy]', 'STEM_NONE',
|
||||
@settings['dmsf_stemming_strategy'] == 'STEM_NONE', checked: true %> <%= l(:option_stem_none) %>
|
||||
RedmineDmsf.dmsf_stemming_strategy == 'STEM_NONE' %> <%= l(:option_stem_none) %>
|
||||
<br>
|
||||
<%= radio_button_tag 'settings[dmsf_stemming_strategy]', 'STEM_SOME',
|
||||
@settings['dmsf_stemming_strategy'] == 'STEM_SOME' %> <%= l(:option_stem_some) %>
|
||||
RedmineDmsf.dmsf_stemming_strategy == 'STEM_SOME' %> <%= l(:option_stem_some) %>
|
||||
<br>
|
||||
<%= radio_button_tag 'settings[dmsf_stemming_strategy]', 'STEM_ALL',
|
||||
@settings['dmsf_stemming_strategy'] == 'STEM_ALL' %> <%= l(:option_stem_all) %>
|
||||
RedmineDmsf.dmsf_stemming_strategy == 'STEM_ALL' %> <%= l(:option_stem_all) %>
|
||||
<br>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:text_stemming_info) %>
|
||||
@ -397,9 +402,10 @@
|
||||
|
||||
<p>
|
||||
<%= content_tag :label, l(:label_enable_cjk_ngrams) %>
|
||||
<%= check_box_tag 'settings[dmsf_enable_cjk_ngrams]', true, @settings['dmsf_enable_cjk_ngrams'] %>
|
||||
<%= check_box_tag 'settings[dmsf_enable_cjk_ngrams]', '1', RedmineDmsf.dmsf_enable_cjk_ngrams? %>
|
||||
<em class="<%= klass %>">
|
||||
<%= l(:text_enable_cjk_ngrams) %>
|
||||
<%= l(:text_enable_cjk_ngrams) %><br>
|
||||
<%= l(:label_default)%>: <%= l(:general_text_No) %>
|
||||
</em>
|
||||
</p>
|
||||
<% else %>
|
||||
|
||||
3
init.rb
3
init.rb
@ -65,7 +65,8 @@ Redmine::Plugin.register :redmine_dmsf do
|
||||
'dmsf_default_query' => '0',
|
||||
'empty_minor_version_by_default' => '0',
|
||||
'remove_original_documents_module' => '0',
|
||||
'dmsf_webdav_authentication' => 'Digest'
|
||||
'dmsf_webdav_authentication' => 'Digest',
|
||||
'dmsf_really_delete_files' => '0'
|
||||
}
|
||||
end
|
||||
|
||||
|
||||
@ -62,9 +62,22 @@ module RedmineDmsf
|
||||
end
|
||||
end
|
||||
|
||||
def dmsf_webdav_strategy
|
||||
if Setting.plugin_redmine_dmsf['dmsf_webdav_strategy'].present?
|
||||
Setting.plugin_redmine_dmsf['dmsf_webdav_strategy'].strip
|
||||
else
|
||||
'WEBDAV_READ_ONLY'
|
||||
end
|
||||
end
|
||||
|
||||
def dmsf_webdav?
|
||||
value = Setting.plugin_redmine_dmsf['dmsf_webdav']
|
||||
value.to_i.positive? || value == 'true'
|
||||
webdav = value.to_i.positive? || value == 'true'
|
||||
if webdav && defined?(EasyExtensions)
|
||||
webdav = Redmine::Plugin.installed?('easy_hosting_services') &&
|
||||
EasyHostingServices::EasyMultiTenancy.activated?
|
||||
end
|
||||
webdav
|
||||
end
|
||||
|
||||
def dmsf_display_notified_recipients?
|
||||
@ -182,6 +195,11 @@ module RedmineDmsf
|
||||
value.to_i.positive? || value == 'true'
|
||||
end
|
||||
|
||||
def physical_file_delete?
|
||||
value = Setting.plugin_redmine_dmsf['dmsf_really_delete_files']
|
||||
value.to_i.positive? || value == 'true'
|
||||
end
|
||||
|
||||
def remove_original_documents_module?
|
||||
value = Setting.plugin_redmine_dmsf['remove_original_documents_module']
|
||||
value.to_i.positive? || value == 'true'
|
||||
@ -191,9 +209,14 @@ module RedmineDmsf
|
||||
if Setting.plugin_redmine_dmsf['dmsf_webdav_authentication'].present?
|
||||
Setting.plugin_redmine_dmsf['dmsf_webdav_authentication'].strip
|
||||
else
|
||||
'Basic'
|
||||
'Digest'
|
||||
end
|
||||
end
|
||||
|
||||
def dmsf_default_notifications?
|
||||
value = Setting.plugin_redmine_dmsf['dmsf_default_notifications']
|
||||
value.to_i.positive? || value == 'true'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -586,7 +586,7 @@ module RedmineDmsf
|
||||
f.project_id = project.id
|
||||
f.name = basename
|
||||
f.dmsf_folder = parent.folder
|
||||
f.notification = Setting.plugin_redmine_dmsf['dmsf_default_notifications'].present?
|
||||
f.notification = RedmineDmsf.dmsf_default_notifications?
|
||||
new_revision = DmsfFileRevision.new
|
||||
new_revision.minor_version = 1
|
||||
new_revision.major_version = 0
|
||||
|
||||
@ -38,7 +38,7 @@ module RedmineDmsf
|
||||
rc = get_resource_class(path)
|
||||
@resource_c = rc.new(path, request, response, options)
|
||||
@resource_c.accessor = self if @resource_c
|
||||
@read_only = Setting.plugin_redmine_dmsf['dmsf_webdav_strategy'] == 'WEBDAV_READ_ONLY'
|
||||
@read_only = RedmineDmsf.dmsf_webdav_strategy == 'WEBDAV_READ_ONLY'
|
||||
end
|
||||
|
||||
def authenticate(username, password)
|
||||
|
||||
@ -79,7 +79,7 @@ module RedmineDmsf
|
||||
|
||||
def set_default_dmsf_notification
|
||||
return unless new_record?
|
||||
return unless !dmsf_notification && Setting.plugin_redmine_dmsf['dmsf_default_notifications'].present?
|
||||
return unless !dmsf_notification && RedmineDmsf.dmsf_default_notifications?
|
||||
|
||||
self.dmsf_notification = true
|
||||
end
|
||||
|
||||
@ -68,7 +68,8 @@ class DmsfWebdavDeleteTest < RedmineDmsf::Test::IntegrationTest
|
||||
end
|
||||
|
||||
def test_delete_when_ro
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_strategy' => 'WEBDAV_READ_ONLY', 'dmsf_webdav' => '1' } do
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_strategy' => 'WEBDAV_READ_ONLY', 'dmsf_webdav' => '1',
|
||||
'dmsf_webdav_authentication' => 'Basic' } do
|
||||
delete "/dmsf/webdav/#{@project1.identifier}/#{@file1.name}", params: nil, headers: @admin
|
||||
assert_response :bad_gateway # WebDAV is read only
|
||||
end
|
||||
@ -128,7 +129,10 @@ class DmsfWebdavDeleteTest < RedmineDmsf::Test::IntegrationTest
|
||||
end
|
||||
|
||||
def test_folder_delete_by_user_with_project_names
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1', 'dmsf_webdav' => '1' } do
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1',
|
||||
'dmsf_webdav' => '1',
|
||||
'dmsf_webdav_authentication' => 'Basic',
|
||||
'dmsf_webdav_strategy' => 'WEBDAV_READ_WRITE' } do
|
||||
delete "/dmsf/webdav/#{@project1.identifier}/#{@folder6.title}", params: nil, headers: @jsmith
|
||||
assert_response :conflict
|
||||
p1name_uri = ERB::Util.url_encode(RedmineDmsf::Webdav::ProjectResource.create_project_name(@project1))
|
||||
@ -154,7 +158,10 @@ class DmsfWebdavDeleteTest < RedmineDmsf::Test::IntegrationTest
|
||||
end
|
||||
|
||||
def test_file_delete_by_user_with_project_names
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1', 'dmsf_webdav' => '1' } do
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1',
|
||||
'dmsf_webdav' => '1',
|
||||
'dmsf_webdav_authentication' => 'Basic',
|
||||
'dmsf_webdav_strategy' => 'WEBDAV_READ_WRITE' } do
|
||||
delete "/dmsf/webdav/#{@project1.identifier}/#{@file1.name}", params: nil, headers: @jsmith
|
||||
assert_response :conflict
|
||||
p1name_uri = ERB::Util.url_encode(RedmineDmsf::Webdav::ProjectResource.create_project_name(@project1))
|
||||
|
||||
@ -77,7 +77,9 @@ class DmsfWebdavGetTest < RedmineDmsf::Test::IntegrationTest
|
||||
assert_response :success
|
||||
assert_not response.body.match(@project1.identifier).nil?,
|
||||
"Expected to find project #{@project1.identifier} in return data"
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1', 'dmsf_webdav' => '1' } do
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1',
|
||||
'dmsf_webdav' => '1',
|
||||
'dmsf_webdav_authentication' => 'Basic' } do
|
||||
project1_uri = Addressable::URI.encode(RedmineDmsf::Webdav::ProjectResource.create_project_name(@project1))
|
||||
get '/dmsf/webdav', params: nil, headers: @admin
|
||||
assert_response :success
|
||||
@ -138,7 +140,9 @@ class DmsfWebdavGetTest < RedmineDmsf::Test::IntegrationTest
|
||||
def test_download_file_from_dmsf_enabled_project
|
||||
get "/dmsf/webdav/#{@project1.identifier}/test.txt", params: nil, headers: @admin
|
||||
assert_response :success
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1', 'dmsf_webdav' => '1' } do
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1',
|
||||
'dmsf_webdav' => '1',
|
||||
'dmsf_webdav_authentication' => 'Basic' } do
|
||||
project1_uri = ERB::Util.url_encode(RedmineDmsf::Webdav::ProjectResource.create_project_name(@project1))
|
||||
get "/dmsf/webdav/#{@project1.identifier}/test.txt", params: nil, headers: @admin
|
||||
assert_response :conflict
|
||||
|
||||
@ -34,7 +34,9 @@ class DmsfWebdavHeadTest < RedmineDmsf::Test::IntegrationTest
|
||||
head "/dmsf/webdav/#{@project1.identifier}", params: nil, headers: @admin
|
||||
assert_response :success
|
||||
check_headers_exist
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1', 'dmsf_webdav' => '1' } do
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1',
|
||||
'dmsf_webdav' => '1',
|
||||
'dmsf_webdav_authentication' => 'Basic' } do
|
||||
head "/dmsf/webdav/#{@project1.identifier}", params: nil, headers: @admin
|
||||
assert_response :not_found
|
||||
project1_name = RedmineDmsf::Webdav::ProjectResource.create_project_name(@project1)
|
||||
@ -52,7 +54,9 @@ class DmsfWebdavHeadTest < RedmineDmsf::Test::IntegrationTest
|
||||
head "/dmsf/webdav/#{@project1.identifier}/test.txt", params: nil, headers: @admin
|
||||
assert_response :success
|
||||
check_headers_exist
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1', 'dmsf_webdav' => '1' } do
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1',
|
||||
'dmsf_webdav' => '1',
|
||||
'dmsf_webdav_authentication' => 'Basic' } do
|
||||
head "/dmsf/webdav/#{@project1.identifier}/test.txt", params: nil, headers: @admin
|
||||
assert_response :conflict
|
||||
project1_name = RedmineDmsf::Webdav::ProjectResource.create_project_name(@project1)
|
||||
|
||||
@ -62,7 +62,10 @@ class DmsfWebdavMkcolTest < RedmineDmsf::Test::IntegrationTest
|
||||
def test_should_create_folder_for_non_admin_user_with_rights
|
||||
process :mkcol, "/dmsf/webdav/#{@project1.identifier}/test1", params: nil, headers: @jsmith
|
||||
assert_response :success
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1', 'dmsf_webdav' => '1' } do
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1',
|
||||
'dmsf_webdav' => '1',
|
||||
'dmsf_webdav_authentication' => 'Basic',
|
||||
'dmsf_webdav_strategy' => 'WEBDAV_READ_WRITE' } do
|
||||
project1_uri = ERB::Util.url_encode(RedmineDmsf::Webdav::ProjectResource.create_project_name(@project1))
|
||||
process :mkcol, "/dmsf/webdav/#{@project1.identifier}/test2", params: nil, headers: @jsmith
|
||||
assert_response :conflict
|
||||
|
||||
@ -135,7 +135,10 @@ class DmsfWebdavMoveTest < RedmineDmsf::Test::IntegrationTest
|
||||
end
|
||||
|
||||
def test_move_to_new_filename_with_project_names
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1', 'dmsf_webdav' => '1' } do
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1',
|
||||
'dmsf_webdav' => '1',
|
||||
'dmsf_webdav_authentication' => 'Basic',
|
||||
'dmsf_webdav_strategy' => 'WEBDAV_READ_WRITE' } do
|
||||
project1_uri = ERB::Util.url_encode(RedmineDmsf::Webdav::ProjectResource.create_project_name(@project1))
|
||||
new_name = "#{@file1.name}.moved"
|
||||
assert_difference '@file1.dmsf_file_revisions.count', +1 do
|
||||
@ -182,7 +185,10 @@ class DmsfWebdavMoveTest < RedmineDmsf::Test::IntegrationTest
|
||||
end
|
||||
|
||||
def test_move_to_new_folder_with_project_names
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1', 'dmsf_webdav' => '1' } do
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1',
|
||||
'dmsf_webdav' => '1',
|
||||
'dmsf_webdav_authentication' => 'Basic',
|
||||
'dmsf_webdav_strategy' => 'WEBDAV_READ_WRITE' } do
|
||||
project1_uri = ERB::Util.url_encode(RedmineDmsf::Webdav::ProjectResource.create_project_name(@project1))
|
||||
assert_difference '@file1.dmsf_file_revisions.count', +1 do
|
||||
process :move,
|
||||
|
||||
@ -52,7 +52,9 @@ class DmsfWebdavPropfindTest < RedmineDmsf::Test::IntegrationTest
|
||||
end
|
||||
|
||||
def test_propfind_depth1_on_root_for_admin_with_project_names
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1', 'dmsf_webdav' => '1' } do
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1',
|
||||
'dmsf_webdav' => '1',
|
||||
'dmsf_webdav_authentication' => 'Basic' } do
|
||||
process :propfind, '/dmsf/webdav/', params: nil, headers: @admin.merge!({ HTTP_DEPTH: '1' })
|
||||
assert_response :multi_status
|
||||
assert response.body.include?('<d:href>http://www.example.com:80/dmsf/webdav/</d:href>')
|
||||
@ -102,7 +104,9 @@ class DmsfWebdavPropfindTest < RedmineDmsf::Test::IntegrationTest
|
||||
end
|
||||
|
||||
def test_propfind_depth0_on_project1_for_admin_with_project_names
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1', 'dmsf_webdav' => '1' } do
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1',
|
||||
'dmsf_webdav' => '1',
|
||||
'dmsf_webdav_authentication' => 'Basic' } do
|
||||
process :propfind,
|
||||
"/dmsf/webdav/#{@project1.identifier}",
|
||||
params: nil,
|
||||
@ -151,7 +155,9 @@ class DmsfWebdavPropfindTest < RedmineDmsf::Test::IntegrationTest
|
||||
end
|
||||
|
||||
def test_propfind_depth1_on_project1_for_admin_with_project_names
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1', 'dmsf_webdav' => '1' } do
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1',
|
||||
'dmsf_webdav' => '1',
|
||||
'dmsf_webdav_authentication' => 'Basic' } do
|
||||
process :propfind,
|
||||
"/dmsf/webdav/#{@project1.identifier}", params: nil, headers: @admin.merge!({ HTTP_DEPTH: '1' })
|
||||
assert_response :not_found
|
||||
@ -191,7 +197,9 @@ class DmsfWebdavPropfindTest < RedmineDmsf::Test::IntegrationTest
|
||||
end
|
||||
|
||||
def test_propfind_depth1_on_root_for_admin
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1', 'dmsf_webdav' => '1' } do
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1',
|
||||
'dmsf_webdav' => '1',
|
||||
'dmsf_webdav_authentication' => 'Basic' } do
|
||||
project1_new_name = RedmineDmsf::Webdav::ProjectResource.create_project_name(@project1)
|
||||
project1_new_uri = ERB::Util.url_encode(project1_new_name)
|
||||
process :propfind, "/dmsf/webdav/#{project1_new_uri}", params: nil, headers: @admin.merge!({ HTTP_DEPTH: '1' })
|
||||
|
||||
@ -73,7 +73,10 @@ class DmsfWebdavPutTest < RedmineDmsf::Test::IntegrationTest
|
||||
# Lets check for our file
|
||||
file = DmsfFile.find_file_by_name @project1, nil, 'test-1234.txt'
|
||||
assert file, 'Check for files existance'
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1', 'dmsf_webdav' => '1' } do
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1',
|
||||
'dmsf_webdav' => '1',
|
||||
'dmsf_webdav_authentication' => 'Basic',
|
||||
'dmsf_webdav_strategy' => 'WEBDAV_READ_WRITE' } do
|
||||
project1_uri = ERB::Util.url_encode(RedmineDmsf::Webdav::ProjectResource.create_project_name(@project1))
|
||||
put "/dmsf/webdav/#{@project1.identifier}/test-1234.txt",
|
||||
params: '1234',
|
||||
@ -114,7 +117,10 @@ class DmsfWebdavPutTest < RedmineDmsf::Test::IntegrationTest
|
||||
assert file.last_revision
|
||||
assert_equal 'SHA256', file.last_revision.digest_type
|
||||
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1', 'dmsf_webdav' => '1' } do
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => '1',
|
||||
'dmsf_webdav' => '1',
|
||||
'dmsf_webdav_authentication' => 'Basic',
|
||||
'dmsf_webdav_strategy' => 'WEBDAV_READ_WRITE' } do
|
||||
put "/dmsf/webdav/#{@project1.identifier}/test-1234.txt",
|
||||
params: '1234',
|
||||
headers: @jsmith.merge!({ content_type: :text })
|
||||
@ -238,7 +244,9 @@ class DmsfWebdavPutTest < RedmineDmsf::Test::IntegrationTest
|
||||
assert_response :no_content
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => nil,
|
||||
'dmsf_webdav_ignore' => '.dump$',
|
||||
'dmsf_webdav' => '1' } do
|
||||
'dmsf_webdav' => '1',
|
||||
'dmsf_webdav_authentication' => 'Basic',
|
||||
'dmsf_webdav_strategy' => 'WEBDAV_READ_WRITE' } do
|
||||
put "/dmsf/webdav/#{@project1.identifier}/test.dump",
|
||||
params: '1234',
|
||||
headers: @admin.merge!({ content_type: :text })
|
||||
@ -277,7 +285,9 @@ class DmsfWebdavPutTest < RedmineDmsf::Test::IntegrationTest
|
||||
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => nil,
|
||||
'dmsf_webdav_disable_versioning' => '.dump$',
|
||||
'dmsf_webdav' => '1' } do
|
||||
'dmsf_webdav' => '1',
|
||||
'dmsf_webdav_authentication' => 'Basic',
|
||||
'dmsf_webdav_strategy' => 'WEBDAV_READ_WRITE' } do
|
||||
put "/dmsf/webdav/#{@project1.identifier}/file3.dump", params: '1234', headers: credentials
|
||||
assert_response :success
|
||||
file3 = DmsfFile.find_by(project_id: @project1.id, dmsf_folder_id: nil, name: 'file3.dump')
|
||||
@ -330,7 +340,9 @@ class DmsfWebdavPutTest < RedmineDmsf::Test::IntegrationTest
|
||||
def test_ignore_1b_files_on
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => nil,
|
||||
'dmsf_webdav_ignore_1b_file_for_authentication' => '1',
|
||||
'dmsf_webdav' => '1' } do
|
||||
'dmsf_webdav' => '1',
|
||||
'dmsf_webdav_authentication' => 'Basic',
|
||||
'dmsf_webdav_strategy' => 'WEBDAV_READ_WRITE' } do
|
||||
put "/dmsf/webdav/#{@project1.identifier}/1bfile.txt",
|
||||
params: '1',
|
||||
headers: @jsmith.merge!({ content_type: :text })
|
||||
@ -341,7 +353,9 @@ class DmsfWebdavPutTest < RedmineDmsf::Test::IntegrationTest
|
||||
def test_ignore_1b_files_off
|
||||
with_settings plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => nil,
|
||||
'dmsf_webdav_ignore_1b_file_for_authentication' => nil,
|
||||
'dmsf_webdav' => '1' } do
|
||||
'dmsf_webdav' => '1',
|
||||
'dmsf_webdav_authentication' => 'Basic',
|
||||
'dmsf_webdav_strategy' => 'WEBDAV_READ_WRITE' } do
|
||||
put "/dmsf/webdav/#{@project1.identifier}/1bfile.txt",
|
||||
params: '1',
|
||||
headers: @jsmith.merge!({ content_type: :text })
|
||||
@ -351,7 +365,10 @@ class DmsfWebdavPutTest < RedmineDmsf::Test::IntegrationTest
|
||||
|
||||
def test_files_exceeded_max_attachment_size
|
||||
with_settings attachment_max_size: '1',
|
||||
plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => nil, 'dmsf_webdav' => '1' } do
|
||||
plugin_redmine_dmsf: { 'dmsf_webdav_use_project_names' => nil,
|
||||
'dmsf_webdav' => '1',
|
||||
'dmsf_webdav_authentication' => 'Basic',
|
||||
'dmsf_webdav_strategy' => 'WEBDAV_READ_WRITE' } do
|
||||
file_content = 'x' * 2.kilobytes
|
||||
put "/dmsf/webdav/#{@project1.identifier}/2kbfile.txt",
|
||||
params: file_content,
|
||||
|
||||
@ -57,8 +57,8 @@ module RedmineDmsf
|
||||
@role.add_permission! :file_delete
|
||||
Setting.plugin_redmine_dmsf['dmsf_webdav'] = '1'
|
||||
Setting.plugin_redmine_dmsf['dmsf_webdav_strategy'] = 'WEBDAV_READ_WRITE'
|
||||
Setting.plugin_redmine_dmsf['dmsf_webdav_use_project_names'] = nil
|
||||
Setting.plugin_redmine_dmsf['dmsf_projects_as_subfolders'] = nil
|
||||
Setting.plugin_redmine_dmsf['dmsf_webdav_use_project_names'] = '0'
|
||||
Setting.plugin_redmine_dmsf['dmsf_projects_as_subfolders'] = '0'
|
||||
Setting.plugin_redmine_dmsf['dmsf_storage_directory'] = File.join('files', ['dmsf'])
|
||||
Setting.plugin_redmine_dmsf['dmsf_webdav_authentication'] = 'Basic'
|
||||
FileUtils.cp_r File.join(File.expand_path('../fixtures/files', __FILE__), '.'), DmsfFile.storage_path
|
||||
|
||||
@ -84,7 +84,7 @@ class DmsfFileRevisionTest < RedmineDmsf::Test::UnitTest
|
||||
f.project_id = 1
|
||||
f.name = 'Testfile.txt'
|
||||
f.dmsf_folder = nil
|
||||
f.notification = Setting.plugin_redmine_dmsf['dmsf_default_notifications'].present?
|
||||
f.notification = RedmineDmsf.dmsf_default_notifications?
|
||||
f.save
|
||||
|
||||
# Create two new revisions, r1 and r2
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user