<% # Redmine plugin for Document Management System "Features" # # Vít Jonáš , Daniel Munn , Karel Pičman # # This file is part of Redmine DMSF plugin. # # Redmine DMSF plugin is free software: you can redistribute it and/or modify it under the terms of the GNU General # Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any # later version. # # Redmine DMSF plugin is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even # the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # more details. # # You should have received a copy of the GNU General Public License along with Redmine DMSF plugin. If not, see # . %> <%= l(:label_general) %>

<%= content_tag :label, l(:label_maximum_files_download) %> <%= text_field_tag 'settings[dmsf_max_file_download]', RedmineDmsf.dmsf_max_file_download, size: 10 %> <%= l(:note_maximum_number_of_files_downloaded) %>
<%= l(:label_default) %>: 0

<%= content_tag :label, l(:label_dmsf_max_notification_receivers_info) %> <%= text_field_tag 'settings[dmsf_max_notification_receivers_info]', RedmineDmsf.dmsf_max_notification_receivers_info, size: 10 %> <%= l(:note_dmsf_max_notification_receivers_info) %>
<%= l(:label_default) %>: 10

<%= content_tag :label, l(:label_maximum_email_filesize) %> <%= text_field_tag 'settings[dmsf_max_email_filesize]', RedmineDmsf.dmsf_max_email_filesize, size: 10 %> <%= l(:note_maximum_email_filesize) %>
<%= l(:label_default) %>: 0

<%= content_tag :label, l(:label_file_storage_directory) %> <%= text_field_tag 'settings[dmsf_storage_directory]', RedmineDmsf.dmsf_storage_directory, size: 256 %> <%= l(:label_default) %>: files/dmsf

<% unless File.exist?(DmsfFile.storage_path) %> <% begin %> <% FileUtils.mkdir_p DmsfFile.storage_path %> <% rescue %>

<%= l(:error_file_storage_directory_does_not_exist) %>

<% end %> <% end %> <% testfilename = DmsfFile.storage_path.join('test.test') %> <% if File.exist?(RedmineDmsf.dmsf_storage_directory) %> <% begin %> <% File.open(testfilename, 'wb') {} %> <% rescue %>

<%= l(:error_file_can_not_be_created) %>

<% ensure %> <% FileUtils.rm_f testfilename %> <% end %> <% end %>

<%= content_tag :label, l(:label_dmsf_office_bin) %> <%= text_field_tag 'settings[office_bin]', RedmineDmsf.office_bin, size: 10 %> <% unless RedmineDmsf::Preview.office_available? %> <%= l(:note_dmsf_office_bin_not_available, RedmineDmsf.office_bin ||= 'libreoffice') %> <% end %> <%= l(:note_dmsf_office_bin) %>
<%= l(:label_default) %>: 'libreoffice'

<%= content_tag :label, l(:label_physical_file_delete) %> <%= check_box_tag 'settings[dmsf_really_delete_files]', '1', RedmineDmsf.physical_file_delete? %> <%= l(:label_default)%>: <%= l(:general_text_No)%>

<%= content_tag :label, l(:label_default_notifications) %> <%= select_tag 'settings[dmsf_default_notifications]', options_for_select([ [l(:select_option_deactivated), '0'], [l(:select_option_activated), '1']], selected: RedmineDmsf.dmsf_default_notifications? ? '1' : '0') %> <%= l(:label_default) %>: <%= l(:select_option_deactivated) %>

<%= content_tag :label, l(:label_display_notified_recipients) %> <%= select_tag 'settings[dmsf_display_notified_recipients]', options_for_select([ [l(:select_option_deactivated), '0'], [l(:select_option_activated), '1']], selected: RedmineDmsf.dmsf_display_notified_recipients? ? '1' : '0') %> <%= l(:note_display_notified_recipients) %>
<%= l(:label_default) %>: <%= l(:select_option_deactivated) %>

<%= content_tag :label, l(:label_title_format) %> <%= text_field_tag 'settings[dmsf_global_title_format]', RedmineDmsf.dmsf_global_title_format, size: 10 %> <%= l(:text_title_format) %>

<%= content_tag :label, l(:label_act_as_attachable) %> <%= check_box_tag 'settings[dmsf_act_as_attachable]', '1', RedmineDmsf.dmsf_act_as_attachable? %> <%= l(:note_dmsf_act_as_attachable) %>
<%= l(:label_default) %>: <%= l(:general_text_No) %>

<%= content_tag :label, l(:label_dmsf_projects_as_subfolders) %> <%= check_box_tag 'settings[dmsf_projects_as_subfolders]', '1', RedmineDmsf.dmsf_projects_as_subfolders? %> <%= l(:note_dmsf_projects_as_subfolders) %>
<%= l(:label_default) %>: <%= l(:general_text_No) %>

<%= content_tag :label, l(:label_dmsf_global_menu_disabled) %> <%= check_box_tag 'settings[dmsf_global_menu_disabled]', '1', RedmineDmsf.dmsf_global_menu_disabled? %> <%= l(:note_dmsf_global_menu_disabled) %>
<%= l(:label_default) %>: <%= l(:general_text_No) %>

<%= content_tag :label, l(:label_empty_minor_version_by_default) %> <%= check_box_tag 'settings[empty_minor_version_by_default]', '1', RedmineDmsf.empty_minor_version_by_default? %> <%= l(:label_default) %>: <%= l(:general_text_No) %>

<%= content_tag :label, l(:label_remove_original_documents_module) %> <%= check_box_tag 'settings[remove_original_documents_module]', '1', RedmineDmsf.remove_original_documents_module? %> <%= l(:label_default) %>: <%= l(:general_text_No) %>


<%= l(:label_dmsf_columns) %> <%= render partial: 'settings/dmsf_columns', locals: { selected_columns: RedmineDmsf.dmsf_columns } %>

<%= 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: RedmineDmsf.dmsf_default_query) %>


<%= l(:heading_send_documents_by_email) %>

<%= content_tag :label, l(:label_email_from_override) %> <%= text_field_tag 'settings[dmsf_documents_email_from]', RedmineDmsf.dmsf_documents_email_from, size: 128 %> <%= l(:label_default) %>: <%= l(:text_email_from_override) %>

<%= content_tag :label, l(:label_email_reply_to) %> <%= text_field_tag 'settings[dmsf_documents_email_reply_to]', RedmineDmsf.dmsf_documents_email_reply_to, size: 128 %> <%= l(:label_default) %>: <%= "''" %>

<%= content_tag :label, l(:label_links_only).capitalize %> <%= check_box_tag 'settings[dmsf_documents_email_links_only]', '1', RedmineDmsf.dmsf_documents_email_links_only? %> <%= l(:label_default) %>: <%= l(:general_text_No) %>


<%= l(:field_label_dmsf_workflow) %>

<%= content_tag :label, l(:label_dmsf_keep_documents_locked) %> <%= check_box_tag 'settings[dmsf_keep_documents_locked]', '1', RedmineDmsf.dmsf_keep_documents_locked? %> <%= l(:note_dmsf_keep_documents_locked) %>
<%= l(:label_default)%>: <%= l(:general_text_No)%>

<%= content_tag(:label, l(:only_approval_zero_minor_version)) %> <%= check_box_tag 'settings[only_approval_zero_minor_version]', '1', RedmineDmsf.only_approval_zero_minor_version? %> <%= l(:only_approval_zero_minor_version) %>
<%= l(:label_default) %>: <%= l(:general_text_No)%>


<%= l(:label_webdav) %>

<%= content_tag :label, l(:label_webdav) %> <%= select_tag 'settings[dmsf_webdav]', options_for_select([ [l(:select_option_deactivated), '0'], [l(:select_option_activated), '1']], selected: RedmineDmsf.dmsf_webdav? ? '1' : '0'), onchange: "$('#dmsf_webdav_block').toggle()" %> <%= l(:note_webdav, protocol: Setting.protocol, domain: Setting.host_name) %>
<%= l(:label_default) %>: <%= l(:select_option_deactivated) %>

<% visible_class = RedmineDmsf.dmsf_webdav? ? '' : 'dmsf-hidden' %>

<%= content_tag :label, l(:label_webdav_authentication) %> <% auth_types = [%w[Basic Basic], %w[Digest Digest]] %> <%= select_tag 'settings[dmsf_webdav_authentication]', options_for_select(auth_types, RedmineDmsf.dmsf_webdav_authentication) %> <%= l(:note_webdav_authentication) %>
<%= l(:label_default)%>: <%= auth_types[1][0] %>

<%= content_tag :label, l(:label_webdav_strategy) %> <%= select_tag'settings[dmsf_webdav_strategy]', options_for_select([ [l(:select_option_webdav_readonly), 'WEBDAV_READ_ONLY'], [l(:select_option_webdav_readwrite), 'WEBDAV_READ_WRITE']], selected: RedmineDmsf.dmsf_webdav_strategy), onchange: "$('#dmsf_webdav_ro_block').toggle()" %>
<%= l(:note_webdav_strategy) %>
<%= l(:label_default) %>: <%= l(:select_option_webdav_readonly) %>

<% visible_class = (RedmineDmsf.dmsf_webdav_strategy == 'WEBDAV_READ_ONLY') ? 'dmsf-hidden' : '' %>

<%= content_tag(:label, l(:label_webdav_ignore)) %> <%= text_field_tag 'settings[dmsf_webdav_ignore]', RedmineDmsf.dmsf_webdav_ignore, size: 50 %> <%= l(:note_webdav_ignore) %> <%= l(:label_default) %>: ^(\._|\.DS_Store$|Thumbs.db$)

<%= content_tag(:label, l(:dmsf_webdav_ignore_1b_file_for_authentication)) %> <%= check_box_tag 'settings[dmsf_webdav_ignore_1b_file_for_authentication]', '1', RedmineDmsf.dmsf_webdav_ignore_1b_file_for_authentication? %> <%= l(:dmsf_webdav_ignore_1b_file_for_authentication_info) %>
<%= l(:label_default) %>: <%= l(:general_text_Yes) %>

<%= content_tag :label, l(:label_webdav_disable_versioning) %> <%= text_field_tag 'settings[dmsf_webdav_disable_versioning]', RedmineDmsf.dmsf_webdav_disable_versioning, size: 50 %> <%= l(:note_webdav_disable_versioning) %>
<%= l(:label_default) %>: ^\~\$|\.tmp$

<%= content_tag :label, l(:label_webdav_use_project_names) %> <%= check_box_tag 'settings[dmsf_webdav_use_project_names]', '1', RedmineDmsf.dmsf_webdav_use_project_names? %> <%= l(:note_webdav_use_project_names) %>
<%= l(:label_default)%>: <%= l(:general_text_No) %>


<%= l(:text_fulltext_search, cmd1: 'libreoffice', cmd2: 'pdftotext') %>

<% if RedmineDmsf::Plugin.lib_available?('xapian') %>

<%= content_tag :label, l(:label_index_database) %> <%= text_field_tag 'settings[dmsf_index_database]', RedmineDmsf.dmsf_index_database, size: 50 %> <%= l(:label_default) %>: <%= File.expand_path('dmsf_index', Rails.root) %>

<% stem_langs = %w(danish dutch english finnish french german hungarian italian norwegian portuguese romanian russian spanish swedish turkish) %>

<%= content_tag :label, l(:label_stemming_language) %> <%= select_tag 'settings[dmsf_stemming_lang]', options_for_select(stem_langs, RedmineDmsf.dmsf_stemming_lang) %> <%= l(:note_possible_values) %>: <%= stem_langs.join(', ') %>.
<%= "#{l(:label_default)}: #{stem_langs[2]}" %>

<%= content_tag :label, l(:label_stem_strategy) %> <%= radio_button_tag 'settings[dmsf_stemming_strategy]', 'STEM_NONE', RedmineDmsf.dmsf_stemming_strategy == 'STEM_NONE' %> <%= l(:option_stem_none) %>
<%= radio_button_tag 'settings[dmsf_stemming_strategy]', 'STEM_SOME', RedmineDmsf.dmsf_stemming_strategy == 'STEM_SOME' %> <%= l(:option_stem_some) %>
<%= radio_button_tag 'settings[dmsf_stemming_strategy]', 'STEM_ALL', RedmineDmsf.dmsf_stemming_strategy == 'STEM_ALL' %> <%= l(:option_stem_all) %>
<%= l(:text_stemming_info) %>

<%= content_tag :label, l(:label_enable_cjk_ngrams) %> <%= check_box_tag 'settings[dmsf_enable_cjk_ngrams]', '1', RedmineDmsf.dmsf_enable_cjk_ngrams? %> <%= l(:text_enable_cjk_ngrams) %>
<%= l(:label_default)%>: <%= l(:general_text_No) %>

<% else %>

<%= l(:warning_xapian_not_available) %>

<% end %>