Zeitwerk
This commit is contained in:
parent
163d809ce7
commit
d6103681e7
@ -39,7 +39,7 @@ def dmsf_init
|
||||
param: :id,
|
||||
html: { class: 'icon icon-dmsf' }
|
||||
# New menu extension
|
||||
next if Redmine::Plugin.installed?('easy_extensions')
|
||||
next if defined?(EasyExtensions)
|
||||
|
||||
menu.push :dmsf_file, { controller: 'dmsf_upload', action: 'multi_upload' },
|
||||
caption: :label_dmsf_new_top_level_document, parent: :new_object
|
||||
@ -112,7 +112,7 @@ def dmsf_init
|
||||
Token.add_action :dmsf_webdav_digest, max_instances: 1, validity_time: nil
|
||||
end
|
||||
|
||||
if Redmine::Plugin.installed?('easy_extensions')
|
||||
if defined?(EasyExtensions)
|
||||
Rails.application.config.after_initialize do
|
||||
dmsf_init
|
||||
|
||||
@ -130,20 +130,26 @@ Rails.application.configure do
|
||||
Zip.unicode_names = true
|
||||
|
||||
# DMS custom fields
|
||||
after_easy_init do
|
||||
CustomFieldsHelper::CUSTOM_FIELDS_TABS << { name: 'DmsfFileRevisionCustomField', partial: 'custom_fields/index',
|
||||
label: :dmsf }
|
||||
end
|
||||
|
||||
# Searchable modules
|
||||
after_easy_init do
|
||||
Redmine::Search.map do |search|
|
||||
search.register :dmsf_files
|
||||
search.register :dmsf_folders
|
||||
end
|
||||
end
|
||||
|
||||
# Activities
|
||||
after_easy_init do
|
||||
Redmine::Activity.register :dmsf_file_revision_accesses, default: false
|
||||
Redmine::Activity.register :dmsf_file_revisions
|
||||
end
|
||||
|
||||
if Redmine::Plugin.installed?('easy_extensions')
|
||||
if defined?(EasyExtensions)
|
||||
require "#{File.dirname(__FILE__)}/lib/redmine_dmsf/webdav/custom_middleware"
|
||||
config.middleware.insert_before ActionDispatch::Cookies, RedmineDmsf::Webdav::CustomMiddleware
|
||||
end
|
||||
|
||||
@ -18,6 +18,8 @@
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
require "#{File.dirname(__FILE__)}/../../lib/redmine_dmsf/dmsf_zip"
|
||||
|
||||
# DMSF controller
|
||||
class DmsfController < ApplicationController
|
||||
include RedmineDmsf::DmsfZip
|
||||
@ -751,7 +753,7 @@ class DmsfController < ApplicationController
|
||||
|
||||
def query
|
||||
retrieve_default_query true
|
||||
@query = if Redmine::Plugin.installed?('easy_extensions')
|
||||
@query = if defined?(EasyExtensions)
|
||||
retrieve_query_without_easy_extensions DmsfQuery, true
|
||||
else
|
||||
retrieve_query DmsfQuery, true
|
||||
|
||||
@ -25,7 +25,7 @@ require 'csv'
|
||||
module DmsfHelper
|
||||
include Redmine::I18n
|
||||
|
||||
unless Redmine::Plugin.installed?('easy_extensions')
|
||||
unless defined?(EasyExtensions)
|
||||
|
||||
def late_javascript_tag(content_or_options_with_block = nil, html_options = {}, &block)
|
||||
javascript_tag content_or_options_with_block, html_options, &block
|
||||
|
||||
@ -104,7 +104,7 @@
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
<% if Redmine::Plugin.installed?('easy_extensions') %>
|
||||
<% if defined?(EasyExtensions) %>
|
||||
<%= late_javascript_tag do %>
|
||||
$(function() {
|
||||
$("p.buttons").addClass("filter-buttons form-actions");
|
||||
|
||||
@ -42,7 +42,7 @@
|
||||
<%= render partial: 'dmsf/sidebar' %>
|
||||
<% end %>
|
||||
|
||||
<% if Redmine::Plugin.installed?('easy_extensions') %>
|
||||
<% if defined?(EasyExtensions) %>
|
||||
<%= late_javascript_tag do %>
|
||||
$(function() {
|
||||
$("p.buttons").addClass("filter-buttons form-actions");
|
||||
|
||||
@ -169,7 +169,7 @@ if Redmine::Plugin.installed? 'redmine_dmsf'
|
||||
end
|
||||
|
||||
# WebDAV workaround for clients checking WebDAV availability in the root
|
||||
unless Redmine::Plugin.installed?('easy_extensions')
|
||||
unless defined?(EasyExtensions)
|
||||
match '/',
|
||||
to: ->(env) { [405, {}, ["#{env['REQUEST_METHOD']} method is not allowed"]] },
|
||||
via: %i[propfind options]
|
||||
|
||||
@ -199,49 +199,52 @@ end
|
||||
|
||||
# DMSF libraries
|
||||
|
||||
def after_easy_init(&block)
|
||||
if defined?(EasyExtensions)
|
||||
Rails.application.config.after_initialize(&block)
|
||||
else
|
||||
yield
|
||||
end
|
||||
end
|
||||
|
||||
# Validators
|
||||
after_easy_init do
|
||||
require "#{File.dirname(__FILE__)}/../app/validators/dmsf_file_name_validator"
|
||||
require "#{File.dirname(__FILE__)}/../app/validators/dmsf_max_file_size_validator"
|
||||
require "#{File.dirname(__FILE__)}/../app/validators/dmsf_workflow_name_validator"
|
||||
require "#{File.dirname(__FILE__)}/../app/validators/dmsf_url_validator"
|
||||
require "#{File.dirname(__FILE__)}/../app/validators/dmsf_folder_parent_validator"
|
||||
end
|
||||
|
||||
# Plugin's patches
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/patches/formatting_helper_patch"
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/patches/projects_helper_patch"
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/patches/project_patch"
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/patches/user_preference_patch"
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/patches/user_patch"
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/patches/issue_patch"
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/patches/role_patch"
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/patches/queries_controller_patch"
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/patches/pdf_patch"
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/patches/access_control_patch"
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/patches/search_patch"
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/patches/custom_field_patch"
|
||||
# Patches
|
||||
unless defined?(EasyPatchManager)
|
||||
require "#{File.dirname(__FILE__)}/../patches/formatting_helper_patch"
|
||||
require "#{File.dirname(__FILE__)}/../patches/projects_helper_patch"
|
||||
require "#{File.dirname(__FILE__)}/../patches/project_patch"
|
||||
require "#{File.dirname(__FILE__)}/../patches/user_preference_patch"
|
||||
require "#{File.dirname(__FILE__)}/../patches/user_patch"
|
||||
require "#{File.dirname(__FILE__)}/../patches/issue_patch"
|
||||
require "#{File.dirname(__FILE__)}/../patches/role_patch"
|
||||
require "#{File.dirname(__FILE__)}/../patches/queries_controller_patch"
|
||||
require "#{File.dirname(__FILE__)}/../patches/pdf_patch"
|
||||
require "#{File.dirname(__FILE__)}/../patches/access_control_patch"
|
||||
require "#{File.dirname(__FILE__)}/../patches/search_patch"
|
||||
require "#{File.dirname(__FILE__)}/../patches/custom_field_patch"
|
||||
# A workaround for obsolete 'alias_method' usage in RedmineUp's plugins
|
||||
if RedmineDmsf::Plugin.an_obsolete_plugin_present?
|
||||
require "#{File.dirname(__FILE__)}/../patches/notifiable_ru_patch"
|
||||
else
|
||||
require "#{File.dirname(__FILE__)}/../patches/notifiable_patch"
|
||||
end
|
||||
end
|
||||
|
||||
# A workaround for obsolete 'alias_method' usage in RedmineUp's plugins
|
||||
def require_notifiable
|
||||
if defined?(EasyExtensions) || RedmineDmsf::Plugin.an_obsolete_plugin_present?
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/patches/notifiable_ru_patch"
|
||||
else
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/patches/notifiable_patch"
|
||||
end
|
||||
end
|
||||
|
||||
if defined?(EasyExtensions)
|
||||
Rails.application.config.to_prepare { require_notifiable }
|
||||
else
|
||||
require_notifiable
|
||||
end
|
||||
|
||||
if defined?(EasyExtensions)
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/patches/easy_crm_case_patch"
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/patches/attachable_patch"
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/patches/easy_crm_cases_controller_patch.rb"
|
||||
after_easy_init do
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/plugin"
|
||||
end
|
||||
|
||||
# Load up classes that make up our WebDAV solution ontop of Dav4rack
|
||||
after_easy_init do
|
||||
require "#{File.dirname(__FILE__)}/dav4rack"
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/webdav/custom_middleware"
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/webdav/base_resource"
|
||||
@ -249,13 +252,16 @@ require "#{File.dirname(__FILE__)}/redmine_dmsf/webdav/dmsf_resource"
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/webdav/index_resource"
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/webdav/project_resource"
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/webdav/resource_proxy"
|
||||
end
|
||||
|
||||
# Errors
|
||||
after_easy_init do
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/errors/dmsf_access_error"
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/errors/dmsf_email_max_file_size_error"
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/errors/dmsf_file_not_found_error"
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/errors/dmsf_lock_error"
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/errors/dmsf_zip_max_files_error"
|
||||
end
|
||||
|
||||
# Hooks
|
||||
def require_hooks
|
||||
@ -274,14 +280,18 @@ def require_hooks
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/hooks/helpers/project_helper_hooks"
|
||||
end
|
||||
|
||||
if defined?(EasyExtensions)
|
||||
Rails.application.config.to_prepare { require_hooks }
|
||||
else
|
||||
after_easy_init do
|
||||
require_hooks
|
||||
end
|
||||
|
||||
# Macros
|
||||
after_easy_init do
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/macros"
|
||||
end
|
||||
|
||||
# Field formats
|
||||
after_easy_init do
|
||||
require "#{File.dirname(__FILE__)}/redmine_dmsf/field_formats/dmsf_file_revision_format"
|
||||
end
|
||||
|
||||
require "#{File.dirname(__FILE__)}/easy_page_module" unless defined?(EasyExtensions)
|
||||
|
||||
@ -20,14 +20,12 @@
|
||||
|
||||
module RedmineDmsf
|
||||
module Patches
|
||||
# AccessControll patch
|
||||
# AccessControl patch
|
||||
module AccessControlPatch
|
||||
##################################################################################################################
|
||||
# Overridden methods
|
||||
def self.prepended(base)
|
||||
class << base
|
||||
prepend ClassMethods
|
||||
end
|
||||
base.singleton_class.prepend(ClassMethods)
|
||||
end
|
||||
|
||||
# Class methods
|
||||
@ -46,7 +44,7 @@ module RedmineDmsf
|
||||
end
|
||||
|
||||
# Apply the patch
|
||||
if Redmine::Plugin.installed?('easy_extensions')
|
||||
if defined?(EasyPatchManager)
|
||||
EasyPatchManager.register_patch_to_be_first 'Redmine::Acts::Attachable::InstanceMethods',
|
||||
'RedmineDmsf::Patches::AccessControlPatch', prepend: true, first: true
|
||||
else
|
||||
@ -33,7 +33,7 @@ module RedmineDmsf
|
||||
end
|
||||
|
||||
# Apply the patch
|
||||
if Redmine::Plugin.installed?('easy_extensions')
|
||||
if defined?(EasyPatchManager)
|
||||
EasyPatchManager.register_patch_to_be_first 'Redmine::Acts::Attachable::InstanceMethods',
|
||||
'RedmineDmsf::Patches::AttachablePatch', prepend: true, first: true
|
||||
else
|
||||
@ -32,7 +32,7 @@ module RedmineDmsf
|
||||
end
|
||||
|
||||
# Apply patch
|
||||
if Redmine::Plugin.installed?('easy_extensions')
|
||||
if defined?(EasyPatchManager)
|
||||
EasyPatchManager.register_model_patch 'CustomField', 'RedmineDmsf::Patches::CustomFieldPatch'
|
||||
else
|
||||
CustomField.include RedmineDmsf::Patches::CustomFieldPatch
|
||||
@ -32,6 +32,7 @@ module RedmineDmsf
|
||||
easy_crm_cases.each do |easy_crm_case|
|
||||
# Attach DMS documents
|
||||
uploaded_files = params[:dmsf_attachments]
|
||||
details = params[:committed_files]
|
||||
if uploaded_files
|
||||
system_folder = easy_crm_case.system_folder(create: true)
|
||||
uploaded_files.each do |key, uploaded_file|
|
||||
@ -163,7 +163,7 @@ module RedmineDmsf
|
||||
end
|
||||
|
||||
# Apply patch
|
||||
if Redmine::Plugin.installed?('easy_extensions')
|
||||
if defined?(EasyPatchManager)
|
||||
EasyPatchManager.register_model_patch 'Issue', 'RedmineDmsf::Patches::IssuePatch'
|
||||
else
|
||||
Issue.prepend RedmineDmsf::Patches::IssuePatch
|
||||
@ -23,9 +23,7 @@ module RedmineDmsf
|
||||
# Notifiable
|
||||
module NotifiablePatch
|
||||
def self.prepended(base)
|
||||
class << base
|
||||
prepend ClassMethods
|
||||
end
|
||||
base.singleton_class.prepend(ClassMethods)
|
||||
end
|
||||
|
||||
# Class methods
|
||||
@ -45,6 +43,6 @@ module RedmineDmsf
|
||||
end
|
||||
|
||||
# Apply the patch
|
||||
unless defined?(EasyExtensions) || RedmineDmsf::Plugin.an_obsolete_plugin_present?
|
||||
unless defined?(EasyPatchManager) || RedmineDmsf::Plugin.an_obsolete_plugin_present?
|
||||
Redmine::Notifiable.prepend RedmineDmsf::Patches::NotifiablePatch
|
||||
end
|
||||
@ -48,6 +48,8 @@ module RedmineDmsf
|
||||
end
|
||||
|
||||
# Apply the patch
|
||||
if defined?(EasyExtensions) || RedmineDmsf::Plugin.an_obsolete_plugin_present?
|
||||
if defined?(EasyPatchManager)
|
||||
EasyPatchManager.register_other_patch 'Redmine::Notifiable', 'RedmineDmsf::Patches::NotifiableRuPatch'
|
||||
elsif RedmineDmsf::Plugin.an_obsolete_plugin_present?
|
||||
Redmine::Notifiable.include RedmineDmsf::Patches::NotifiableRuPatch
|
||||
end
|
||||
@ -42,7 +42,7 @@ module RedmineDmsf
|
||||
end
|
||||
|
||||
# Apply the patch
|
||||
if Redmine::Plugin.installed?('easy_extensions')
|
||||
if defined?(EasyPatchManager)
|
||||
EasyPatchManager.register_patch_to_be_first 'Redmine::Export::PDF::ITCPDF', 'RedmineDmsf::Patches::PdfPatch',
|
||||
prepend: true, first: true
|
||||
else
|
||||
@ -133,7 +133,7 @@ module RedmineDmsf
|
||||
end
|
||||
|
||||
# Apply the patch
|
||||
if Redmine::Plugin.installed?('easy_extensions')
|
||||
if defined?(EasyPatchManager)
|
||||
EasyPatchManager.register_model_patch 'Project', 'RedmineDmsf::Patches::ProjectPatch', prepend: true
|
||||
else
|
||||
Project.prepend RedmineDmsf::Patches::ProjectPatch
|
||||
@ -50,6 +50,4 @@ module RedmineDmsf
|
||||
end
|
||||
|
||||
# Apply the patch
|
||||
unless Redmine::Plugin.installed?('easy_extensions')
|
||||
ProjectsController.send :helper, RedmineDmsf::Patches::ProjectsHelperPatch
|
||||
end
|
||||
ProjectsController.send(:helper, RedmineDmsf::Patches::ProjectsHelperPatch) unless defined?(EasyPatchManager)
|
||||
@ -39,7 +39,7 @@ module RedmineDmsf
|
||||
end
|
||||
|
||||
# Apply the patch
|
||||
if Redmine::Plugin.installed?('easy_extensions')
|
||||
if defined?(EasyPatchManager)
|
||||
EasyPatchManager.register_controller_patch 'QueriesController', 'RedmineDmsf::Patches::QueriesControllerPatch',
|
||||
prepend: true
|
||||
else
|
||||
@ -42,7 +42,7 @@ module RedmineDmsf
|
||||
end
|
||||
|
||||
# Apply the patch
|
||||
if Redmine::Plugin.installed?('easy_extensions')
|
||||
if defined?(EasyPatchManager)
|
||||
EasyPatchManager.register_model_patch 'Role', 'RedmineDmsf::Patches::RolePatch', prepend: true
|
||||
else
|
||||
Role.prepend RedmineDmsf::Patches::RolePatch
|
||||
@ -25,9 +25,7 @@ module RedmineDmsf
|
||||
##################################################################################################################
|
||||
# Overridden methods
|
||||
def self.prepended(base)
|
||||
class << base
|
||||
prepend ClassMethods
|
||||
end
|
||||
base.singleton_class.prepend(ClassMethods)
|
||||
end
|
||||
|
||||
# Class methods
|
||||
@ -46,7 +44,7 @@ module RedmineDmsf
|
||||
end
|
||||
|
||||
# Apply the patch
|
||||
if Redmine::Plugin.installed?('easy_extensions')
|
||||
if defined?(EasyPatchManager)
|
||||
EasyPatchManager.register_patch_to_be_first 'Redmine::Acts::Attachable::InstanceMethods',
|
||||
'RedmineDmsf::Patches::SearchPatch', prepend: true, first: true
|
||||
else
|
||||
@ -63,7 +63,7 @@ module RedmineDmsf
|
||||
end
|
||||
|
||||
# Apply the patch
|
||||
if Redmine::Plugin.installed?('easy_extensions')
|
||||
if defined?(EasyPatchManager)
|
||||
EasyPatchManager.register_model_patch 'User', 'RedmineDmsf::Patches::UserPatch'
|
||||
else
|
||||
User.prepend RedmineDmsf::Patches::UserPatch
|
||||
@ -59,7 +59,7 @@ module RedmineDmsf
|
||||
end
|
||||
|
||||
# Apply the patch
|
||||
if Redmine::Plugin.installed?('easy_extensions')
|
||||
if defined?(EasyPatchManager)
|
||||
EasyPatchManager.register_model_patch 'UserPreference', 'RedmineDmsf::Patches::UserPreferencePatch'
|
||||
else
|
||||
UserPreference.prepend RedmineDmsf::Patches::UserPreferencePatch
|
||||
Loading…
x
Reference in New Issue
Block a user