<% # encoding: utf-8 # # Redmine plugin for Document Management System "Features" # # Copyright © 2011-18 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. %> <% html_title(l(:dmsf)) %>

<%= l(:link_trash_bin) %>

<%= textilizable(@folder ? @folder.description : @project.dmsf_description) %>
<%= error_messages_for('dmsf_workflow') %> <%= form_tag(entries_operations_dmsf_path(:id => @project, :folder_id => @folder), :method => :post, :class => 'dmsf_entries', :id => 'entries_form', :data => {:cm_url => dmsf_trash_context_menu_path}) do %> <%= hidden_field_tag('action') %>
<% if @file_manipulation_allowed && @folder_manipulation_allowed %> <%= submit_tag l(:title_restore), :title => l(:title_restore_checked), :name => 'restore_entries', :class => 'toggle-selection' %> <% if @file_delete_allowed%> <%= submit_tag l(:button_delete), :title => l(:title_delete_checked), :name => 'destroy_entries', :class => 'toggle-selection', :data => { :confirm => l(:text_are_you_sure) } %> <% end %> <% end %>
<% if DmsfFolder.is_column_on?('id') %> <% end %> <% if DmsfFolder.is_column_on?('title') %> <% end %> <% if DmsfFolder.is_column_on?('extension') %> <% end %> <% if DmsfFolder.is_column_on?('size') %> <% end %> <% if DmsfFolder.is_column_on?('modified') %> <% end %> <% if DmsfFolder.is_column_on?('version') %> <% end %> <% if DmsfFolder.is_column_on?('workflow') %> <% end %> <% if DmsfFolder.is_column_on?('author') %> <% end %> <% cfs = CustomField.where(:type => 'DmsfFileRevisionCustomField').order(:position) %> <% cfs.each do |c| %> <% if DmsfFolder.is_column_on?(c.name) %> <% end %> <% end %> <% classes = 'dir hascontextmenu' %> <% @subfolders.each do |subfolder| %> <%= render(:partial => 'dir_trash', :locals => { :project => @project, :subfolder => subfolder, :link => nil, :id => subfolder.id, :name => 'folder', :title => subfolder.title }) %> <% end %> <% classes = 'dmsf_gray hascontextmenu' %> <% @dir_links.each do |link| %> <%= render(:partial => 'dir_trash', :locals => { :project => link.target_project, :subfolder => link.target_folder, :link => link, :id => link.id, :name => 'folder-link', :title => link.name }) %> <% end %> <% classes = 'file hascontextmenu' %> <% @files.each do |file| %> <% unless file.last_revision %> <% Rails.logger.error "Error: dmsf_file id #{file.id} has no revision!" %> <% next %> <% end %> <%= render(:partial => 'file_trash', :locals => { :project => @project, :file => file, :link => nil, :id => file.id, :name => 'file', :title => file.title }) %> <% end %> <% classes = 'dmsf_gray hascontextmenu' %> <% @file_links.each do |link| %> <% unless link.target_file %> <% Rails.logger.error "Error: dmsf_link id #{link.id} has no target file!" %> <% next %> <% end %> <% unless link.target_file.last_revision %> <% Rails.logger.error "Error: dmsf_file id #{link.target_id} has no revision!" %> <% next %> <% end %> <%= render(:partial => 'file_trash', :locals => { :project => link.target_project, :file => link.target_file, :link => link, :id => link.id, :name => 'file-link', :title => link.name }) %> <% end %> <% @url_links.each do |link| %> <%= render(:partial => 'url_trash', :locals => { :project => link.target_project, :file => link.target_file, :link => link, :id => link.id, :name => 'url-link', :title => link.name }) %> <% end %>
#<%= l(:link_title) %><%= l(:link_extension) %><%= l(:link_size) %><%= l(:link_modified) %><%= l(:link_ver) %><%= l(:link_workflow) %><%= l(:link_author) %><%= h(c.name) %><%# controls %> <%# position %> <%# size %> <%# updated %> <%# version %>
<% end %> <%= context_menu %> <% content_for :header_tags do %> <%= stylesheet_link_tag 'jquery.dataTables/datatables.min.css', :plugin => 'redmine_dmsf' %> <%= javascript_include_tag 'jquery.dataTables/datatables.min.js', :plugin => 'redmine_dmsf' %> <% title = DmsfFolder.get_column_position('title') %> <% position = DmsfFolder.get_column_position('position') %> <% commands = DmsfFolder.get_column_position('commands') %> <% position = DmsfFolder.get_column_position('position') %> <% version = DmsfFolder.get_column_position('version') %> <% size_calculated = DmsfFolder.get_column_position('size_calculated') %> <% modified_calculated = DmsfFolder.get_column_position('modified_calculated') %> <% version_calculated = DmsfFolder.get_column_position('version_calculated') %> <% size = DmsfFolder.get_column_position('size') %> <% modified = DmsfFolder.get_column_position('modified') %> <%= late_javascript_tag do %> $('#browser').dataTable({ orderClasses: false, responsive: { details: false }, language: { url: "<%= plugin_asset_path(:redmine_dmsf, 'javascripts', json_url) %>" }, autoWidth: false, paginate: false, <% if title %> order: [[<%= title %>, "asc"]], <% end %> sortingFixed: [[ <%= position %>, "asc"]], columnDefs: [ { responsivePriority: 1, targets: <%= title %> }, { responsivePriority: 2, targets: <%= commands %> }, { searchable: false, targets: [0, <%= commands %>, <%= position %>, <%= size_calculated %>, <%= modified_calculated %>, <%= version_calculated %>] }, { sortable: false, targets: [0, <%= commands %>] } <% if size %> ,{ iDataSort: <%= size_calculated %>, targets: [ <%= size %> ] } <% end %> <% if modified %> ,{ iDataSort: <%= modified_calculated %>, targets: [ <%= modified %> ] } <% end %> <% if version %> ,{ iDataSort: <%= version_calculated %>, targets: [ <%= version %> ] } <% end %> ], "fnInitComplete": function() { $("#dmsf_buttons").insertBefore($("#browser_filter")); }, "fnInfoCallback": function( oSettings, iStart, iEnd, iMax, iTotal, sPre ) { return "<%= l(:label_number_of_folders)%>: <%= @subfolders.count + @dir_links.count %>, <%= l(:label_number_of_documents)%>: <%= @files.count + @file_links.count + @url_links.count %>"; } }); $("#entries_form").submit(function () { $(this).removeAttr("data-submitted"); }); <% end %> <% end %>