# encoding: utf-8 # # Redmine plugin for Document Management System "Features" # # Copyright (C) 2011 Vít Jonáš # Copyright (C) 2012 Daniel Munn # Copyright (C) 2011-16 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. require 'redmine' require 'redmine_dmsf' require 'zip' 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.7 devel' url 'http://www.redmine.org/plugins/dmsf' author_url 'https://github.com/danmunn/redmine_dmsf/graphs/contributors' requires_redmine :version_or_higher => '3.0.0' settings :partial => 'settings/dmsf_settings', :default => { 'dmsf_max_file_upload' => '0', 'dmsf_max_file_download' => '0', 'dmsf_max_email_filesize' => '0', 'dmsf_max_ajax_upload_filesize' => '100', 'dmsf_storage_directory' => Rails.root.join('files/dmsf').to_s, 'dmsf_index_database' => Rails.root.join('files/dmsf_index').to_s, 'dmsf_stemming_lang' => 'english', 'dmsf_stemming_strategy' => 'STEM_NONE', 'dmsf_webdav' => '1', 'dmsf_display_notified_recipients' => 0 } menu :project_menu, :dmsf, { :controller => 'dmsf', :action => 'show' }, :caption => :menu_dmsf, :before => :documents, :param => :id Redmine::Activity.register :dmsf_file_revision_accesses, :default => false Redmine::Activity.register :dmsf_file_revisions # Uncomment to remove the original Documents from searching (replaced with DMSF) # Redmine::Search.available_search_types.delete('documents') project_module :dmsf do permission :view_dmsf_file_revision_accesses, :read => true permission :view_dmsf_file_revisions, :read => true permission :view_dmsf_folders, {:dmsf => [:show], :dmsf_folders_copy => [:new, :copy_to, :move_to]}, :read => true permission :user_preferences, {:dmsf_state => [:user_pref_save]} permission :view_dmsf_files, {:dmsf => [:entries_operation, :entries_email, :download_email_entries, :tag_changed], :dmsf_files => [:show, :view], :dmsf_files_copy => [:new, :create, :move], :dmsf_workflows => [:log]}, :read => true permission :email_documents, {} permission :folder_manipulation, {:dmsf => [:new, :create, :delete, :edit, :save, :edit_root, :save_root, :lock, :unlock, :notify_activate, :notify_deactivate, :restore]} permission :file_manipulation, {:dmsf_files => [:create_revision, :lock, :unlock, :delete_revision, :notify_activate, :notify_deactivate, :restore], :dmsf_upload => [:upload_files, :upload_file, :upload, :commit_files, :commit], :dmsf_links => [:new, :create, :destroy, :restore] } permission :file_delete, { :dmsf => [:trash, :delete_entries], :dmsf_files => [:delete]} permission :force_file_unlock, {} permission :file_approval, {:dmsf_workflows => [:action, :new_action, :autocomplete_for_user, :start, :assign, :assignment]} permission :manage_workflows, {:dmsf_workflows => [:index, :new, :create, :destroy, :show, :new_step, :add_step, :remove_step, :reorder_steps, :update]} end # Administration menu extension Redmine::MenuManager.map :admin_menu do |menu| menu.push :dmsf_approvalworkflows, {:controller => 'dmsf_workflows', :action => 'index'}, :caption => :label_dmsf_workflow_plural end # Rubyzip configuration Zip.unicode_names = true end Redmine::Search.map do |search| search.register :dmsf_files search.register :dmsf_folders end