<% # Redmine plugin for Document Management System "Features" # # Karel Pičman # # This program 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 2 # of the License, or (at your option) any later version. # # This program 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 this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. %>

<%= l(:title_create_link) %>

<%= labelled_form_for @dmsf_link, remote: modal do |f| %> <%= error_messages_for @dmsf_link %> <%= f.hidden_field :project_id, value: @dmsf_link.project_id %> <%= f.hidden_field :dmsf_folder_id, value: @dmsf_link.dmsf_folder_id if @dmsf_link.dmsf_folder_id %> <%= f.hidden_field :type, value: @type %> <%= f.hidden_field :dmsf_file_id, value: @dmsf_file_id %> <%= f.hidden_field(:container, value: @container) if @container %> <%= hidden_field_tag 'back_url', @back_url %>
<% if (@type == 'link_from') && !@container %>

<%= radio_button_tag :external_link, 'false', true %> <%= l(:label_internal) %>
<%= radio_button_tag :external_link, 'true', false %> <%= l(:label_external) %>

<% end %> <% if (@type == 'link_from') && !@container %> <% end %>

<%= f.text_field :name, required: true, max_length: 255 %>

<% if modal %> <%= f.submit l(:button_create), class: 'button-positive', onclick: 'hideModal(this);' %> <% else %> <%= f.submit l(:button_create), class: 'button-positive' %> <% end %>
<% end %> <%= late_javascript_tag do %> $(document).ready(function(){ <%# Select2 extension, TODO: in case of a modal window, select2 makes problems %> <% unless modal || @fast_links %> $('#dmsf_link_target_project_id').select2(); $('#dmsf_link_target_folder_id').select2(); $('#dmsf_link_target_file_id').select2(); <% end %> <%# Suggest a link's name when a file is selected %> $('#dmsf_link_target_file_id').change(function () { var linkName = $('#dmsf_link_name'); var name = linkName.val(); var dirName = $('#dmsf_link_target_folder_id option:selected').text().replace(/\./g, '') var fileName = $('#dmsf_link_target_file_id option:selected').text().replace(/\./g, '') if((name == '') || name == dirName) { linkName.val(fileName); } }); <%# Suggest a link's name when a folder is selected %> $('#dmsf_link_target_folder_id').change(function () { var linkName = $('#dmsf_link_name'); var name = linkName.val(); var dirName = $('#dmsf_link_target_folder_id option:selected').text().replace(/\./g, '') if(name == '') { linkName.val(dirName); } }); <%# Internal/External link switch %> $("input[name=external_link]:radio").change(function(){ $("#dmsf_link_internal").toggle(); $("#dmsf_link_external").toggle(); $("#dmsf_link_external_url").toggleClass('required', $(this).val()); var labelUrl = $('label[for="dmsf_link_external_url"]'); labelUrl.toggleClass('required', $(this).val()); if(labelUrl.find(".required").length == 0){ labelUrl.append(' *'); } }); }); <% end %>