parent
e33010471f
commit
a1a4dc8a67
@ -51,7 +51,7 @@ class DmsfFile < ActiveRecord::Base
|
||||
scope :deleted, -> { where(:deleted => STATUS_DELETED) }
|
||||
|
||||
validates :name, :presence => true
|
||||
validates_format_of :name, :with => DmsfFolder.invalid_characters,
|
||||
validates_format_of :name, :with => DmsfFolder::INVALID_CHARACTERS,
|
||||
:message => l(:error_contains_invalid_character)
|
||||
|
||||
validate :validates_name_uniqueness
|
||||
@ -470,4 +470,11 @@ class DmsfFile < ActiveRecord::Base
|
||||
false
|
||||
end
|
||||
|
||||
def custom_value(custom_field)
|
||||
self.last_revision.custom_field_values.each do |cv|
|
||||
return cv.value if cv.custom_field == custom_field
|
||||
end
|
||||
nil
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@ -55,7 +55,7 @@ class DmsfFileRevision < ActiveRecord::Base
|
||||
where("#{DmsfFile.table_name}.deleted = ?", STATUS_ACTIVE)
|
||||
|
||||
validates :title, :presence => true
|
||||
validates_format_of :name, :with => DmsfFolder.invalid_characters,
|
||||
validates_format_of :name, :with => DmsfFolder::INVALID_CHARACTERS,
|
||||
:message => l(:error_contains_invalid_character)
|
||||
|
||||
def project
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
# Redmine plugin for Document Management System "Features"
|
||||
#
|
||||
# Copyright (C) 2011 Vít Jonáš <vit.jonas@gmail.com>
|
||||
# Copyright (C) 2011-16 Karel Pičman <karel.picman@konton.com>
|
||||
# Copyright (C) 2011-17 Karel Pičman <karel.picman@konton.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
@ -24,9 +24,6 @@ class DmsfFolder < ActiveRecord::Base
|
||||
|
||||
include RedmineDmsf::Lockable
|
||||
|
||||
cattr_reader :invalid_characters
|
||||
@@invalid_characters = /\A[^\/\\\?":<>]*\z/
|
||||
|
||||
belongs_to :project
|
||||
belongs_to :dmsf_folder
|
||||
belongs_to :deleted_by_user, :class_name => 'User', :foreign_key => 'deleted_by_user_id'
|
||||
@ -46,8 +43,11 @@ class DmsfFolder < ActiveRecord::Base
|
||||
has_many :locks, -> { where(entity_type: 1).order("#{DmsfLock.table_name}.updated_at DESC") },
|
||||
:class_name => 'DmsfLock', :foreign_key => 'entity_id', :dependent => :destroy
|
||||
|
||||
STATUS_DELETED = 1
|
||||
STATUS_ACTIVE = 0
|
||||
INVALID_CHARACTERS = /\A[^\/\\\?":<>]*\z/.freeze
|
||||
STATUS_DELETED = 1.freeze
|
||||
STATUS_ACTIVE = 0.freeze
|
||||
AVAILABLE_COLUMNS = %w(id title extension size modified version workflow author).freeze
|
||||
DEFAULT_COLUMNS = %w(title size modified version workflow author).freeze
|
||||
|
||||
scope :visible, -> { where(:deleted => STATUS_ACTIVE) }
|
||||
scope :deleted, -> { where(:deleted => STATUS_DELETED) }
|
||||
@ -69,7 +69,7 @@ class DmsfFolder < ActiveRecord::Base
|
||||
validates :title, :presence => true
|
||||
validates_uniqueness_of :title, :scope => [:dmsf_folder_id, :project_id, :deleted],
|
||||
conditions: -> { where(:deleted => STATUS_ACTIVE) }
|
||||
validates_format_of :title, :with => @@invalid_characters,
|
||||
validates_format_of :title, :with => INVALID_CHARACTERS,
|
||||
:message => l(:error_contains_invalid_character)
|
||||
validate :check_cycle
|
||||
|
||||
@ -296,6 +296,91 @@ class DmsfFolder < ActiveRecord::Base
|
||||
url_links.visible.count
|
||||
end
|
||||
|
||||
def self.is_column_on?(column)
|
||||
columns = Setting.plugin_redmine_dmsf['dmsf_columns']
|
||||
columns = DmsfFolder::DEFAULT_COLUMNS unless columns
|
||||
columns.include? column
|
||||
end
|
||||
|
||||
def custom_value(custom_field)
|
||||
self.custom_field_values.each do |cv|
|
||||
return cv.value if cv.custom_field == custom_field
|
||||
end
|
||||
nil
|
||||
end
|
||||
|
||||
def self.get_column_position(column)
|
||||
pos = 0
|
||||
# 0 - checkbox
|
||||
# 1 - id
|
||||
if Setting.plugin_redmine_dmsf['dmsf_columns'].include?('id')
|
||||
pos += 1
|
||||
end
|
||||
# 2 - title
|
||||
if Setting.plugin_redmine_dmsf['dmsf_columns'].include?('title')
|
||||
pos += 1
|
||||
return pos if column == 'title'
|
||||
else
|
||||
return nil if column == 'title'
|
||||
end
|
||||
# 3 - extension
|
||||
if Setting.plugin_redmine_dmsf['dmsf_columns'].include?('extension')
|
||||
pos += 1
|
||||
end
|
||||
# 4 - size
|
||||
if Setting.plugin_redmine_dmsf['dmsf_columns'].include?('size')
|
||||
pos += 1
|
||||
return pos if column == 'size'
|
||||
else
|
||||
return nil if column == 'size'
|
||||
end
|
||||
# 5 - modified
|
||||
if Setting.plugin_redmine_dmsf['dmsf_columns'].include?('modified')
|
||||
pos += 1
|
||||
return pos if column == 'modified'
|
||||
else
|
||||
return nil if column == 'modified'
|
||||
end
|
||||
# 6 - version
|
||||
if Setting.plugin_redmine_dmsf['dmsf_columns'].include?('version')
|
||||
pos += 1
|
||||
return pos if column == 'version'
|
||||
else
|
||||
return nil if column == 'version'
|
||||
end
|
||||
# 7 - workflow
|
||||
if Setting.plugin_redmine_dmsf['dmsf_columns'].include?('workflow')
|
||||
pos += 1
|
||||
end
|
||||
# 8 - author
|
||||
if Setting.plugin_redmine_dmsf['dmsf_columns'].include?('author')
|
||||
pos += 1
|
||||
end
|
||||
# 9 - custom fields
|
||||
cfs = CustomField.where(:type => 'DmsfFileRevisionCustomField')
|
||||
cfs.each do |c|
|
||||
if DmsfFolder.is_column_on?(c.name)
|
||||
pos += 1
|
||||
end
|
||||
end
|
||||
# 10 - commands
|
||||
pos += 1
|
||||
return pos if column == 'commands'
|
||||
# 11 - (position)
|
||||
pos += 1
|
||||
return pos if column == 'position'
|
||||
# 12 - (size)
|
||||
pos += 1
|
||||
return pos if column == 'size_calculated'
|
||||
# 13 - (modified)
|
||||
pos += 1
|
||||
return pos if column == 'modified_calculated'
|
||||
# 14 - (version)
|
||||
pos += 1
|
||||
return pos if column == 'version_calculated'
|
||||
nil
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def self.directory_subtree(tree, folder, level, current_folder)
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
#
|
||||
# Redmine plugin for Document Management System "Features"
|
||||
#
|
||||
# Copyright (C) 2011-16 Karel Pičman <karel.picman@kontron.com>
|
||||
# Copyright (C) 2011-17 Karel Pičman <karel.picman@kontron.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
@ -25,7 +25,11 @@
|
||||
|
||||
<td class="dmsf_checkbox"><%= check_box_tag(name, id, false,
|
||||
:title => l(:title_check_for_zip_download_or_email), :id => "subfolder_#{id}") %></td>
|
||||
<td class="dmsf_title">
|
||||
<% if DmsfFolder.is_column_on?('id') %>
|
||||
<td class="id"><%= link_to(subfolder.id, edit_dmsf_path(:id => project, :folder_id => subfolder)) %></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('title') %>
|
||||
<td class="dmsf_title">
|
||||
<% if @tree_view %>
|
||||
<span class='dmsf_expander' <%= onclick.html_safe %>></span>
|
||||
<% end %>
|
||||
@ -38,9 +42,16 @@
|
||||
<% else %>
|
||||
<div class="dmsf_filename" title="<%= l(:title_items)%>">[<%= subfolder.items %>]</div>
|
||||
<% end %>
|
||||
</td>
|
||||
<td class="dmsf_size"></td>
|
||||
<td class="dmsf_modified"><%= format_time(subfolder.modified) if subfolder %>
|
||||
</td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('extension') %>
|
||||
<td class="dmsf_extension"></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('size') %>
|
||||
<td class="dmsf_size"></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('modified') %>
|
||||
<td class="dmsf_modified"><%= format_time(subfolder.modified) if subfolder %>
|
||||
<% if locked_for_user %>
|
||||
<% if subfolder.lock.reverse[0].user %>
|
||||
<%= link_to(image_tag(link ? 'locked_gray.png' : 'locked.png', :plugin => 'redmine_dmsf'),
|
||||
@ -54,10 +65,25 @@
|
||||
<%= content_tag(:span, image_tag(link ? 'lockedbycurrent_gray.png' : 'lockedbycurrent.png', :plugin => 'redmine_dmsf'),
|
||||
:title => l(:title_locked_by_you)) %>
|
||||
<% end %>
|
||||
</td>
|
||||
<td class="dmsf_version"></td>
|
||||
<td class="dmsf_workflow"></td>
|
||||
<td class="dmsf_author"><%= h(subfolder.user) if subfolder %></td>
|
||||
</td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('version') %>
|
||||
<td class="dmsf_version"></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('workflow') %>
|
||||
<td class="dmsf_workflow"></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('author') %>
|
||||
<td class="dmsf_author"><%= h(subfolder.user) if subfolder %></td>
|
||||
<% end %>
|
||||
<% cfs = CustomField.where(:type => 'DmsfFileRevisionCustomField').order(:position) %>
|
||||
<% cfs.each do |c| %>
|
||||
<% if DmsfFolder.is_column_on?(c.name) %>
|
||||
<td class="dmsf_cf">
|
||||
<%= subfolder.custom_value(c) %>
|
||||
</td>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<td class="dmsf_buttons">
|
||||
<% if @folder_manipulation_allowed %>
|
||||
<% unless locked_for_user %>
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
#
|
||||
# Redmine plugin for Document Management System "Features"
|
||||
#
|
||||
# Copyright (C) 2011-16 Karel Pičman <karel.picman@kontron.com>
|
||||
# Copyright (C) 2011-17 Karel Pičman <karel.picman@kontron.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
@ -22,7 +22,11 @@
|
||||
|
||||
<td class="dmsf_checkbox"><%= check_box_tag(name, id, false,
|
||||
:title => l(:title_check_for_restore_or_delete), :id => "subfolder_#{id}") %></td>
|
||||
<td class="dmsf_title">
|
||||
<% if DmsfFolder.is_column_on?('id') %>
|
||||
<td class="id"><%= link_to(subfolder.id, edit_dmsf_path(:id => project, :folder_id => subfolder)) %></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('title') %>
|
||||
<td class="dmsf_title">
|
||||
<%= content_tag(:span, h(title),
|
||||
:title => subfolder ? h(subfolder.description) : nil,
|
||||
:class => 'icon icon-folder') %>
|
||||
@ -31,14 +35,36 @@
|
||||
<% else %>
|
||||
<div class="dmsf_filename" title="<%= l(:title_items)%>">[<%= subfolder.items %>]</div>
|
||||
<% end %>
|
||||
</td>
|
||||
<td class="dmsf_size"></td>
|
||||
<td class="dmsf_modified">
|
||||
</td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('extension') %>
|
||||
<td class="dmsf_extension"></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('size') %>
|
||||
<td class="dmsf_size"></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('modified') %>
|
||||
<td class="dmsf_modified">
|
||||
<%= format_time(subfolder.modified) if subfolder %>
|
||||
</td>
|
||||
<td class="dmsf_version"></td>
|
||||
<td class="dmsf_workflow"></td>
|
||||
<td class="dmsf_author"><%= h(subfolder.user) %></td>
|
||||
</td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('version') %>
|
||||
<td class="dmsf_version"></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('workflow') %>
|
||||
<td class="dmsf_workflow"></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('author') %>
|
||||
<td class="dmsf_author"><%= h(subfolder.user) %></td>
|
||||
<% end %>
|
||||
<% cfs = CustomField.where(:type => 'DmsfFileRevisionCustomField').order(:position) %>
|
||||
<% cfs.each do |c| %>
|
||||
<% if DmsfFolder.is_column_on?(c.name) %>
|
||||
<td class="dmsf_cf">
|
||||
<%= subfolder.custom_value(c) %>
|
||||
</td>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<td class="dmsf_buttons">
|
||||
<% if @folder_manipulation_allowed %>
|
||||
<% if link %>
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
#
|
||||
# Redmine plugin for Document Management System "Features"
|
||||
#
|
||||
# Copyright (C) 2011-16 Karel Pičman <karel.picman@kontron.com>
|
||||
# Copyright (C) 2011-17 Karel Pičman <karel.picman@kontron.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
@ -24,7 +24,11 @@
|
||||
|
||||
<td class="dmsf_checkbox"><%= check_box_tag(name, id, false,
|
||||
:title => l(:title_check_for_zip_download_or_email), :id => "file_#{id}") %></td>
|
||||
<td class="dmsf_title">
|
||||
<% if DmsfFolder.is_column_on?('id') %>
|
||||
<td class="id"><%= link_to(file.id, dmsf_file_path(:id => file)) %></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('title') %>
|
||||
<td class="dmsf_title">
|
||||
<% if @tree_view %>
|
||||
<span class='dmsf_expander'></span>
|
||||
<% end %>
|
||||
@ -36,9 +40,18 @@
|
||||
:title => h(file.last_revision.try(:tooltip)),
|
||||
'data-downloadurl' => "#{file.last_revision.detect_content_type}:#{h(file.name)}:#{file_view_url}") %>
|
||||
<div class="dmsf_filename" title="<%= l(:title_filename_for_download)%>"><%= h(link ? link.path : file.display_name) %></div>
|
||||
</td>
|
||||
<td class="dmsf_size"><%= number_to_human_size(file.last_revision.size) %></td>
|
||||
<td class="dmsf_modified">
|
||||
</td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('extension') %>
|
||||
<td class="dmsf_extension">
|
||||
<%= $1 if file.last_revision.disk_filename =~ /\.(.+)$/ %>
|
||||
</td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('size') %>
|
||||
<td class="dmsf_size"><%= number_to_human_size(file.last_revision.size) %></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('modified') %>
|
||||
<td class="dmsf_modified">
|
||||
<%= format_time(file.last_revision.updated_at) %>
|
||||
<% if file.locked_for_user? %>
|
||||
<% if file.lock.reverse[0].user %>
|
||||
@ -53,9 +66,13 @@
|
||||
<%= content_tag(:span, image_tag(link ? 'lockedbycurrent_gray.png' : 'lockedbycurrent.png', :plugin => 'redmine_dmsf'),
|
||||
:title => l(:title_locked_by_you)) %>
|
||||
<% end %>
|
||||
</td>
|
||||
<td class="dmsf_version" title="<%= file.last_revision.comment %>"><%= file.last_revision.version %></td>
|
||||
<td class="dmsf_workflow">
|
||||
</td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('version') %>
|
||||
<td class="dmsf_version" title="<%= file.last_revision.comment %>"><%= file.last_revision.version %></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('workflow') %>
|
||||
<td class="dmsf_workflow">
|
||||
<% if wf && @file_approval_allowed %>
|
||||
<%= link_to(
|
||||
file.last_revision.workflow_str(false),
|
||||
@ -68,8 +85,19 @@
|
||||
<% else %>
|
||||
<%= file.last_revision.workflow_str(false) %>
|
||||
<% end %>
|
||||
</td>
|
||||
<td class="dmsf_author"><%= h(file.last_revision.user) %></td>
|
||||
</td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('author') %>
|
||||
<td class="dmsf_author"><%= h(file.last_revision.user) %></td>
|
||||
<% end %>
|
||||
<% cfs = CustomField.where(:type => 'DmsfFileRevisionCustomField').order(:position) %>
|
||||
<% cfs.each do |c| %>
|
||||
<% if DmsfFolder.is_column_on?(c.name) %>
|
||||
<td class="dmsf_cf">
|
||||
<%= file.custom_value(c) %>
|
||||
</td>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<td class="dmsf_buttons">
|
||||
<% if @file_manipulation_allowed %>
|
||||
<%= link_to(image_tag('filedetails.png', :plugin => 'redmine_dmsf'),
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
#
|
||||
# Redmine plugin for Document Management System "Features"
|
||||
#
|
||||
# Copyright (C) 2011-16 Karel Pičman <karel.picman@kontron.com>
|
||||
# Copyright (C) 2011-17 Karel Pičman <karel.picman@kontron.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
@ -22,21 +22,49 @@
|
||||
|
||||
<td class="dmsf_checkbox"><%= check_box_tag(name, id, false,
|
||||
:title => l(:title_check_for_restore_or_delete), :id => "file_#{id}") %></td>
|
||||
<td class="dmsf_title">
|
||||
<% if DmsfFolder.is_column_on?('id') %>
|
||||
<td class="id"><%= file.id %></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('title') %>
|
||||
<td class="dmsf_title">
|
||||
<%= content_tag(:span, h(title),
|
||||
:title => h(file.last_revision.try(:tooltip)),
|
||||
:class => "icon icon-file #{DmsfHelper.filetype_css(file.name)}") %>
|
||||
<div class="dmsf_filename" title="<%= l(:title_filename_for_download)%>"><%= h(link ? link.path : file.display_name) %></div>
|
||||
</td>
|
||||
<td class="dmsf_size"><%= number_to_human_size(file.last_revision.size) %></td>
|
||||
<td class="dmsf_modified">
|
||||
</td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('extension') %>
|
||||
<td class="dmsf_extension">
|
||||
<%= $1 if file.last_revision.disk_filename =~ /\.(.+)$/ %>
|
||||
</td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('size') %>
|
||||
<td class="dmsf_size"><%= number_to_human_size(file.last_revision.size) %></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('modified') %>
|
||||
<td class="dmsf_modified">
|
||||
<%= format_time(file.last_revision.updated_at) %>
|
||||
</td>
|
||||
<td class="dmsf_version" title="<%= file.last_revision.comment %>"><%= file.last_revision.version %></td>
|
||||
<td class="dmsf_workflow">
|
||||
</td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('version') %>
|
||||
<td class="dmsf_version" title="<%= file.last_revision.comment %>"><%= file.last_revision.version %></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('workflow') %>
|
||||
<td class="dmsf_workflow">
|
||||
<%= file.last_revision.workflow_str(false) %>
|
||||
</td>
|
||||
<td class="dmsf_author"><%= h(file.last_revision.user) %></td>
|
||||
</td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('author') %>
|
||||
<td class="dmsf_author"><%= h(file.last_revision.user) %></td>
|
||||
<% end %>
|
||||
<% cfs = CustomField.where(:type => 'DmsfFileRevisionCustomField').order(:position) %>
|
||||
<% cfs.each do |c| %>
|
||||
<% if DmsfFolder.is_column_on?(c.name) %>
|
||||
<td class="dmsf_cf">
|
||||
<%= file.custom_value(c) %>
|
||||
</td>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<td class="dmsf_buttons">
|
||||
<% if @file_manipulation_allowed %>
|
||||
<% if link %>
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
#
|
||||
# Redmine plugin for Document Management System "Features"
|
||||
#
|
||||
# Copyright (C) 2011-16 Karel Pičman <karel.picman@kontron.com>
|
||||
# Copyright (C) 2011-17 Karel Pičman <karel.picman@kontron.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
@ -26,17 +26,41 @@
|
||||
<th class="dmsf_checkbox dmsf_th">
|
||||
<input id="check_all_entries" title="<%= l(:title_check_uncheck_all_for_zip_download_or_email) %>" type="checkbox" />
|
||||
</th>
|
||||
<th class ="dmsf_th"><%= l(:link_title) %></th>
|
||||
<th class ="dmsf_th"><%= l(:link_size) %></th>
|
||||
<th class ="dmsf_th"><%= l(:link_modified) %></th>
|
||||
<% if DmsfFolder.is_column_on?('id') %>
|
||||
<th class="dmsf_th">#</th>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('title') %>
|
||||
<th class="dmsf_th"><%= l(:link_title) %></th>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('extension') %>
|
||||
<th class="dmsf_th"><%= l(:link_extension) %></th>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('size') %>
|
||||
<th class="dmsf_th"><%= l(:link_size) %></th>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('modified') %>
|
||||
<th class="dmsf_th"><%= l(:link_modified) %></th>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('version') %>
|
||||
<th title="<%= l(:label_dmsf_version) %>" class ="dmsf_th"><%= l(:link_ver) %></th>
|
||||
<th class ="dmsf_th"><%= l(:link_workflow) %></th>
|
||||
<th class ="dmsf_th"><%= l(:link_author) %></th>
|
||||
<th class ="dmsf_th"></th>
|
||||
<th class="dmsf_invisible"></th>
|
||||
<th class="dmsf_invisible"></th>
|
||||
<th class="dmsf_invisible"></th>
|
||||
<th class="dmsf_invisible"></th>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('workflow') %>
|
||||
<th class="dmsf_th"><%= l(:link_workflow) %></th>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('author') %>
|
||||
<th class="dmsf_th"><%= l(:link_author) %></th>
|
||||
<% end %>
|
||||
<% cfs = CustomField.where(:type => 'DmsfFileRevisionCustomField').order(:position) %>
|
||||
<% cfs.each do |c| %>
|
||||
<% if DmsfFolder.is_column_on?(c.name) %>
|
||||
<th class="dmsf_th"><%= h(c.name) %></th>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<th class ="dmsf_th"><%# controls %></th>
|
||||
<th class="dmsf_invisible"><%# position %></th>
|
||||
<th class="dmsf_invisible"><%# size %></th>
|
||||
<th class="dmsf_invisible"><%# updated %></th>
|
||||
<th class="dmsf_invisible"><%# version %></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
@ -26,17 +26,41 @@
|
||||
<th class="dmsf_checkbox dmsf_th">
|
||||
<input id="check_all_entries" title="<%= l(:title_check_uncheck_all_for_zip_download_or_email) %>" type="checkbox" />
|
||||
</th>
|
||||
<% if DmsfFolder.is_column_on?('id') %>
|
||||
<th class="dmsf_th">#</th>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('title') %>
|
||||
<th class ="dmsf_th"><%= l(:link_title) %></th>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('extension') %>
|
||||
<th class="dmsf_th"><%= l(:link_extension) %></th>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('size') %>
|
||||
<th class ="dmsf_th"><%= l(:link_size) %></th>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('modified') %>
|
||||
<th class ="dmsf_th"><%= l(:link_modified) %></th>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('version') %>
|
||||
<th title="<%= l(:label_dmsf_version) %>" class="dmsf_th"><%= l(:link_ver) %></th>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('workflow') %>
|
||||
<th class ="dmsf_th"><%= l(:link_workflow) %></th>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('author') %>
|
||||
<th class ="dmsf_th"><%= l(:link_author) %></th>
|
||||
<% end %>
|
||||
<% cfs = CustomField.where(:type => 'DmsfFileRevisionCustomField').order(:position) %>
|
||||
<% cfs.each do |c| %>
|
||||
<% if DmsfFolder.is_column_on?(c.name) %>
|
||||
<th class="dmsf_th"><%= c.name %></th>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<th class ="dmsf_th"><%# controls %></th>
|
||||
<th class="dmsf_invisible"><%# position %></th>
|
||||
<th class="dmsf_invisible"><%# size %></th>
|
||||
<th class="dmsf_invisible"><%# updated %></th>
|
||||
<th class="dmsf_invisible"><%# revision %></th>
|
||||
<th class="dmsf_invisible"><%# version %></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
#
|
||||
# Redmine plugin for Document Management System "Features"
|
||||
#
|
||||
# Copyright (C) 2011-16 Karel Pičman <karel.picman@kontron.com>
|
||||
# Copyright (C) 2011-17 Karel Pičman <karel.picman@kontron.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
@ -21,7 +21,11 @@
|
||||
%>
|
||||
|
||||
<td class="dmsf_checkbox"></td>
|
||||
<td class="dmsf_title">
|
||||
<% if DmsfFolder.is_column_on?('id') %>
|
||||
<td class="id"></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('title') %>
|
||||
<td class="dmsf_title">
|
||||
<% if @tree_view %>
|
||||
<span class='dmsf_expander' <%= onclick.html_safe %>></span>
|
||||
<% end %>
|
||||
@ -33,12 +37,32 @@
|
||||
<%= link.external_url %>
|
||||
</div>
|
||||
<%= '</span>'.html_safe if @tree_view %>
|
||||
</td>
|
||||
<td class="dmsf_size"></td>
|
||||
<td class="dmsf_modified"><%= format_time(link.updated_at) %></td>
|
||||
<td class="dmsf_version"></td>
|
||||
<td class="dmsf_workflow"></td>
|
||||
<td class="dmsf_author"><%= h(link.user) %></td>
|
||||
</td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('extension') %>
|
||||
<td class="dmsf_extension"></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('size') %>
|
||||
<td class="dmsf_size"></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('modified') %>
|
||||
<td class="dmsf_modified"><%= format_time(link.updated_at) %></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('version') %>
|
||||
<td class="dmsf_version"></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('workflow') %>
|
||||
<td class="dmsf_workflow"></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('author') %>
|
||||
<td class="dmsf_author"><%= h(link.user) %></td>
|
||||
<% end %>
|
||||
<% cfs = CustomField.where(:type => 'DmsfFileRevisionCustomField').order(:position) %>
|
||||
<% cfs.each do |c| %>
|
||||
<% if DmsfFolder.is_column_on?(c.name) %>
|
||||
<td class="dmsf_cf"></td>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<td class="dmsf_buttons">
|
||||
<span class="icon"></span>
|
||||
<span class="icon"></span>
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
#
|
||||
# Redmine plugin for Document Management System "Features"
|
||||
#
|
||||
# Copyright (C) 2011-16 Karel Pičman <karel.picman@kontron.com>
|
||||
# Copyright (C) 2011-17 Karel Pičman <karel.picman@kontron.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
@ -22,18 +22,42 @@
|
||||
|
||||
<td class="dmsf_checkbox"><%= check_box_tag(name, id, false,
|
||||
:title => l(:title_check_for_restore_or_delete)) %></td>
|
||||
<td class="dmsf_title">
|
||||
<% if DmsfFolder.is_column_on?('id') %>
|
||||
<td class="id"></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('title') %>
|
||||
<td class="dmsf_title">
|
||||
<%= link_to(h(title),
|
||||
link.external_url,
|
||||
:target => '_blank',
|
||||
:class => 'icon dmsf_icon-link') %>
|
||||
<div class="dmsf_filename" title="<%= l(:label_target_folder)%>"><%= link.external_url %></div>
|
||||
</td>
|
||||
<td class="dmsf_size"></td>
|
||||
<td class="dmsf_modified"><%= format_time(link.updated_at) %></td>
|
||||
<td class="dmsf_version"></td>
|
||||
<td class="dmsf_workflow"></td>
|
||||
<td class="dmsf_author"><%= h(link.user) %></td>
|
||||
</td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('extension') %>
|
||||
<td class="dmsf_extension"></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('size') %>
|
||||
<td class="dmsf_size"></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('modified') %>
|
||||
<td class="dmsf_modified"><%= format_time(link.updated_at) %></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('version') %>
|
||||
<td class="dmsf_version"></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('workflow') %>
|
||||
<td class="dmsf_workflow"></td>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('author') %>
|
||||
<td class="dmsf_author"><%= h(link.user) %></td>
|
||||
<% end %>
|
||||
<% cfs = CustomField.where(:type => 'DmsfFileRevisionCustomField').order(:position) %>
|
||||
<% cfs.each do |c| %>
|
||||
<% if DmsfFolder.is_column_on?(c.name) %>
|
||||
<td class="dmsf_cf"></td>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<td class="dmsf_buttons">
|
||||
<% if @file_manipulation_allowed %>
|
||||
<%= link_to(image_tag('restore.png', :plugin => 'redmine_dmsf'),
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
#
|
||||
# Copyright (C) 2011 Vít Jonáš <vit.jonas@gmail.com>
|
||||
# Copyright (C) 2012 Daniel Munn <dan.munn@munnster.co.uk>
|
||||
# Copyright (C) 2011-16 Karel Pičman <karel.picman@kontron.com>
|
||||
# Copyright (C) 2011-17 Karel Pičman <karel.picman@kontron.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
@ -132,6 +132,17 @@
|
||||
<%= stylesheet_link_tag 'jquery.dataTables/jquery-ui.dataTables.css', :plugin => 'redmine_dmsf' %>
|
||||
<%= javascript_include_tag 'jquery.dataTables/jquery.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') %>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('#browser').dataTable({
|
||||
@ -141,14 +152,22 @@
|
||||
},
|
||||
'bAutoWidth': false,
|
||||
'bPaginate': false,
|
||||
'aaSorting': [[1, 'asc']],
|
||||
'aaSortingFixed': [[ 8, 'asc']],
|
||||
<% if title %>
|
||||
'aaSorting': [[<%= title %>, 'asc']],
|
||||
<% end %>
|
||||
'aaSortingFixed': [[ <%= position %>, 'asc']],
|
||||
'aoColumnDefs': [
|
||||
{ 'bSearchable': false, 'aTargets': [0, 7, 8, 9, 10, 11] },
|
||||
{ 'bSortable': false, 'aTargets': [0, 7] },
|
||||
{ 'iDataSort': 9, 'aTargets': [ 2 ] },
|
||||
{ 'iDataSort': 10, 'aTargets': [ 3 ] },
|
||||
{ 'iDataSort': 11, 'aTargets': [ 4 ] }
|
||||
{ 'bSearchable': false, 'aTargets': [0, <%= commands %>, <%= position %>, <%= size_calculated %>, <%= modified_calculated %>, <%= version_calculated %>] },
|
||||
{ 'bSortable': false, 'aTargets': [0, <%= commands %>] }
|
||||
<% if size %>
|
||||
,{ 'iDataSort': <%= size_calculated %>, 'aTargets': [ <%= size %> ] }
|
||||
<% end %>
|
||||
<% if modified %>
|
||||
,{ 'iDataSort': <%= modified_calculated %>, 'aTargets': [ <%= modified %> ] }
|
||||
<% end %>
|
||||
<% if version %>
|
||||
,{ 'iDataSort': <%= version_calculated %>, 'aTargets': [ <%= version %> ] }
|
||||
<% end %>
|
||||
],
|
||||
'fnInitComplete': function() {
|
||||
$('#dmsf_buttons').prependTo($('#browser_wrapper div.fg-toolbar')[0]);
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
#
|
||||
# Redmine plugin for Document Management System "Features"
|
||||
#
|
||||
# Copyright (C) 2011-16 Karel Pičman <karel.picman@kontron.com>
|
||||
# Copyright (C) 2011-17 Karel Pičman <karel.picman@kontron.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
@ -50,17 +50,41 @@
|
||||
<th class="dmsf_checkbox dmsf_th">
|
||||
<input id="check_all_entries" title="<%= l(:title_check_uncheck_all_for_restore_or_delete) %>" type="checkbox" />
|
||||
</th>
|
||||
<% if DmsfFolder.is_column_on?('id') %>
|
||||
<th class="dmsf_th">#</th>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('title') %>
|
||||
<th class="dmsf_th"><%= l(:link_title) %></th>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('extension') %>
|
||||
<th class="dmsf_th"><%= l(:link_extension) %></th>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('size') %>
|
||||
<th class="dmsf_th"><%= l(:link_size) %></th>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('modified') %>
|
||||
<th class="dmsf_th"><%= l(:link_modified) %></th>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('version') %>
|
||||
<th title="<%= l(:label_dmsf_version) %>" class="dmsf_th"><%= l(:link_ver) %></th>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('workflow') %>
|
||||
<th class="dmsf_th"><%= l(:link_workflow) %></th>
|
||||
<% end %>
|
||||
<% if DmsfFolder.is_column_on?('author') %>
|
||||
<th class="dmsf_th"><%= l(:link_author) %></th>
|
||||
<th class="dmsf_th"></th>
|
||||
<th class="dmsf_invisible"></th>
|
||||
<th class="dmsf_invisible"></th>
|
||||
<th class="dmsf_invisible"></th>
|
||||
<th class="dmsf_invisible"></th>
|
||||
<% end %>
|
||||
<% cfs = CustomField.where(:type => 'DmsfFileRevisionCustomField').order(:position) %>
|
||||
<% cfs.each do |c| %>
|
||||
<% if DmsfFolder.is_column_on?(c.name) %>
|
||||
<th class="dmsf_th"><%= h(c.name) %></th>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<th class ="dmsf_th"><%# controls %></th>
|
||||
<th class="dmsf_invisible"><%# position %></th>
|
||||
<th class="dmsf_invisible"><%# size %></th>
|
||||
<th class="dmsf_invisible"><%# updated %></th>
|
||||
<th class="dmsf_invisible"><%# version %></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@ -156,6 +180,17 @@
|
||||
<%= stylesheet_link_tag 'jquery.dataTables/jquery-ui.dataTables.css', :plugin => 'redmine_dmsf' %>
|
||||
<%= javascript_include_tag 'jquery.dataTables/jquery.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') %>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('#browser').dataTable({
|
||||
@ -165,14 +200,22 @@
|
||||
},
|
||||
'bAutoWidth': false,
|
||||
'bPaginate': false,
|
||||
'aaSorting': [[1,'asc']],
|
||||
'aaSortingFixed': [[8,'asc']],
|
||||
<% if title %>
|
||||
'aaSorting': [[<%= title %>, 'asc']],
|
||||
<% end %>
|
||||
'aaSortingFixed': [[ <%= position %>, 'asc']],
|
||||
'aoColumnDefs': [
|
||||
{ 'bSearchable': false, 'aTargets': [0, 7, 8, 9] },
|
||||
{ 'bSortable': false, 'aTargets': [0, 7, 8] },
|
||||
{ 'iDataSort': 9, 'aTargets': [ 2 ] },
|
||||
{ 'iDataSort': 10, 'aTargets': [ 3 ] },
|
||||
{ 'iDataSort': 11, 'aTargets': [ 4 ] }
|
||||
{ 'bSearchable': false, 'aTargets': [0, <%= commands %>, <%= position %>, <%= size_calculated %>, <%= modified_calculated %>, <%= version_calculated %>] },
|
||||
{ 'bSortable': false, 'aTargets': [0, <%= commands %>] }
|
||||
<% if size %>
|
||||
,{ 'iDataSort': <%= size_calculated %>, 'aTargets': [ <%= size %> ] }
|
||||
<% end %>
|
||||
<% if modified %>
|
||||
,{ 'iDataSort': <%= modified_calculated %>, 'aTargets': [ <%= modified %> ] }
|
||||
<% end %>
|
||||
<% if version %>
|
||||
,{ 'iDataSort': <%= version_calculated %>, 'aTargets': [ <%= version %> ] }
|
||||
<% end %>
|
||||
],
|
||||
'fnInitComplete': function() {
|
||||
$('div.dmsf_controls').prependTo($('#browser_wrapper div.fg-toolbar')[0]);
|
||||
|
||||
@ -1,8 +1,11 @@
|
||||
<%# Redmine plugin for Document Management System "Features"
|
||||
<%
|
||||
# encoding: utf-8
|
||||
#
|
||||
# Redmine plugin for Document Management System "Features"
|
||||
#
|
||||
# Copyright (C) 2011 Vít Jonáš <vit.jonas@gmail.com>
|
||||
# Copyright (C) 2012 Daniel Munn <dan.munn@munnster.co.uk>
|
||||
# Copyright (C) 2011-15 Karel Picman <karel.picman@kontron.com>
|
||||
# Copyright (C) 2011-17 Karel Picman <karel.picman@kontron.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
@ -16,7 +19,12 @@
|
||||
#
|
||||
# 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.%>
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
%>
|
||||
|
||||
<em class="info">
|
||||
<%= l(:label_general) %>
|
||||
</em>
|
||||
|
||||
<p>
|
||||
<%= content_tag(:label, l(:label_maximum_files_upload)) %>
|
||||
@ -121,6 +129,28 @@
|
||||
</p>
|
||||
|
||||
<hr/>
|
||||
<em class="info">
|
||||
<%= l(:menu_dmsf) %> <%= l(:field_column_names) %>
|
||||
</em>
|
||||
|
||||
<p>
|
||||
<%= content_tag(:label, l(:field_column_names)) %>
|
||||
<% columns = DmsfFolder::AVAILABLE_COLUMNS.dup %>
|
||||
<% cfs = CustomField.where(:type => 'DmsfFileRevisionCustomField').order(:position) %>
|
||||
<% columns.concat(cfs.map{ |c| c.name }) %>
|
||||
<% selected_columns = @settings[:dmsf_columns] %>
|
||||
<% selected_columns = DmsfFolder::DEFAULT_COLUMNS unless selected_columns %>
|
||||
<% columns.each_with_index do |column, i| %>
|
||||
<%= check_box_tag('settings[dmsf_columns][]', column, selected_columns.include?(column)) %>
|
||||
<%= h column.capitalize %>
|
||||
<br/>
|
||||
<% end %>
|
||||
</p>
|
||||
|
||||
<hr/>
|
||||
<em class="info">
|
||||
<%= l(:label_webdav) %>
|
||||
</em>
|
||||
|
||||
<p>
|
||||
<%= content_tag(:label, l(:label_webdav)) %>
|
||||
@ -149,6 +179,9 @@
|
||||
<% end %>
|
||||
|
||||
<hr/>
|
||||
<em class="info">
|
||||
<%= l(:label_full_text) %>
|
||||
</em>
|
||||
|
||||
<% begin %>
|
||||
<% require 'xapian' %>
|
||||
|
||||
@ -335,3 +335,7 @@ cs:
|
||||
error_maximum_upload_filecount: "Nelze nahrát více než %{filecount} soubor(ů)."
|
||||
|
||||
label_public_urls: Veřejné URL platné do
|
||||
|
||||
label_webdav: WebDAV
|
||||
label_full_text: Full-textové vyhledávání
|
||||
link_extension: Příp.
|
||||
|
||||
@ -335,3 +335,7 @@ de:
|
||||
error_maximum_upload_filecount: "Nicht mehr als %{filecount} Datai(en) kann man hochladen."
|
||||
|
||||
label_public_urls: Öffentliches URLs gültig bis
|
||||
|
||||
label_webdav: WebDAV
|
||||
label_full_text: Full-text search
|
||||
link_extension: Ext
|
||||
|
||||
@ -335,3 +335,7 @@ en:
|
||||
error_maximum_upload_filecount: "No more than %{filecount} file(s) can be uploaded."
|
||||
|
||||
label_public_urls: Public URLs valid to
|
||||
|
||||
label_webdav: WebDAV
|
||||
label_full_text: Full-text search
|
||||
link_extension: Ext
|
||||
@ -335,3 +335,7 @@ es:
|
||||
error_maximum_upload_filecount: "No more than %{filecount} file(s) can be uploaded."
|
||||
|
||||
label_public_urls: Public URLs valid to
|
||||
|
||||
label_webdav: WebDAV
|
||||
label_full_text: Full-text search
|
||||
link_extension: Ext
|
||||
@ -335,3 +335,7 @@ fr:
|
||||
error_maximum_upload_filecount: "No more than %{filecount} file(s) can be uploaded."
|
||||
|
||||
label_public_urls: Public URLs valid to
|
||||
|
||||
label_webdav: WebDAV
|
||||
label_full_text: Full-text search
|
||||
link_extension: Ext
|
||||
@ -335,3 +335,7 @@ it: # Italian strings thx 2 Matteo Arceci!
|
||||
error_maximum_upload_filecount: "No more than %{filecount} file(s) can be uploaded."
|
||||
|
||||
label_public_urls: Public URLs valid to
|
||||
|
||||
label_webdav: WebDAV
|
||||
label_full_text: Full-text search
|
||||
link_extension: Ext
|
||||
@ -335,3 +335,7 @@ ja:
|
||||
error_maximum_upload_filecount: "No more than %{filecount} file(s) can be uploaded."
|
||||
|
||||
label_public_urls: Public URLs valid to
|
||||
|
||||
label_webdav: WebDAV
|
||||
label_full_text: Full-text search
|
||||
link_extension: Ext
|
||||
@ -335,3 +335,7 @@ pl:
|
||||
error_maximum_upload_filecount: "No more than %{filecount} file(s) can be uploaded."
|
||||
|
||||
label_public_urls: Public URLs valid to
|
||||
|
||||
label_webdav: WebDAV
|
||||
label_full_text: Full-text search
|
||||
link_extension: Ext
|
||||
@ -335,3 +335,7 @@ pt-BR:
|
||||
error_maximum_upload_filecount: "No more than %{filecount} file(s) can be uploaded."
|
||||
|
||||
label_public_urls: Public URLs valid to
|
||||
|
||||
label_webdav: WebDAV
|
||||
label_full_text: Full-text search
|
||||
link_extension: Ext
|
||||
@ -335,3 +335,7 @@ ru:
|
||||
error_maximum_upload_filecount: "Не более %{filecount} файла(ов) может быть загружено."
|
||||
|
||||
label_public_urls: Public URLs valid to
|
||||
|
||||
label_webdav: WebDAV
|
||||
label_full_text: Full-text search
|
||||
link_extension: Ext
|
||||
@ -335,3 +335,7 @@ sl:
|
||||
error_maximum_upload_filecount: "No more than %{filecount} file(s) can be uploaded."
|
||||
|
||||
label_public_urls: Public URLs valid to
|
||||
|
||||
label_webdav: WebDAV
|
||||
label_full_text: Full-text search
|
||||
link_extension: Ext
|
||||
@ -335,3 +335,7 @@ zh-TW:
|
||||
error_maximum_upload_filecount: "No more than %{filecount} file(s) can be uploaded."
|
||||
|
||||
label_public_urls: Public URLs valid to
|
||||
|
||||
label_webdav: WebDAV
|
||||
label_full_text: Full-text search
|
||||
link_extension: Ext
|
||||
@ -335,3 +335,7 @@ zh:
|
||||
error_maximum_upload_filecount: "No more than %{filecount} file(s) can be uploaded."
|
||||
|
||||
label_public_urls: Public URLs valid to
|
||||
|
||||
label_webdav: WebDAV
|
||||
label_full_text: Full-text search
|
||||
link_extension: Ext
|
||||
7
init.rb
7
init.rb
@ -4,7 +4,7 @@
|
||||
#
|
||||
# Copyright (C) 2011 Vít Jonáš <vit.jonas@gmail.com>
|
||||
# Copyright (C) 2012 Daniel Munn <dan.munn@munnster.co.uk>
|
||||
# Copyright (C) 2011-16 Karel Pičman <karel.picman@kontron.com>
|
||||
# Copyright (C) 2011-17 Karel Pičman <karel.picman@kontron.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
@ -28,7 +28,7 @@ Redmine::Plugin.register :redmine_dmsf do
|
||||
name 'DMSF'
|
||||
author 'Vít Jonáš / Daniel Munn / Karel Pičman'
|
||||
description 'Document Management System Features'
|
||||
version '1.5.8'
|
||||
version '1.5.9 - devel'
|
||||
url 'http://www.redmine.org/plugins/dmsf'
|
||||
author_url 'https://github.com/danmunn/redmine_dmsf/graphs/contributors'
|
||||
|
||||
@ -46,7 +46,8 @@ Redmine::Plugin.register :redmine_dmsf do
|
||||
'dmsf_stemming_strategy' => 'STEM_NONE',
|
||||
'dmsf_webdav' => '1',
|
||||
'dmsf_display_notified_recipients' => 0,
|
||||
'dmsf_global_title_format' => ''
|
||||
'dmsf_global_title_format' => '',
|
||||
'dmsf_columns' => %w(title size modified version workflow author)
|
||||
}
|
||||
|
||||
menu :project_menu, :dmsf, { :controller => 'dmsf', :action => 'show' }, :caption => :menu_dmsf, :before => :documents, :param => :id
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user