Merge branch 'devel' of github.com:danmunn/redmine_dmsf into devel

This commit is contained in:
Karel Pičman 2024-05-06 17:38:11 +02:00
commit 98edde3a50
4 changed files with 74 additions and 2 deletions

View File

@ -41,7 +41,7 @@ OMINDEX = '/usr/bin/omindex'
# OMINDEX += " --filter=image/jpeg:'tesseract -l chi_sim+chi_tra %f -'" # OMINDEX += " --filter=image/jpeg:'tesseract -l chi_sim+chi_tra %f -'"
# Directory containing Xapian databases for omindex (Attachments indexing) # Directory containing Xapian databases for omindex (Attachments indexing)
DBROOTPATH = File.expand_path('dmsf_index', REDMINE_ROOT) db_root_path = File.expand_path('dmsf_index', REDMINE_ROOT)
# Verbose output, false/true # Verbose output, false/true
verbose = false verbose = false
@ -72,6 +72,9 @@ optparse = OptionParser.new do |opts|
opts.separator('') opts.separator('')
opts.separator('') opts.separator('')
opts.separator('Options:') opts.separator('Options:')
opts.on('-d', '--index_db DB_PATH', 'Absolute path to index database according plugin settings in UI') do |db|
db_root_path = db
end
opts.on('-s', '--stemming_lang a,b,c', Array, 'Comma separated list of stemming languages for indexing') do |s| opts.on('-s', '--stemming_lang a,b,c', Array, 'Comma separated list of stemming languages for indexing') do |s|
stem_langs = s stem_langs = s
end end
@ -104,6 +107,7 @@ optparse = OptionParser.new do |opts|
opts.separator('') opts.separator('')
opts.separator('Examples:') opts.separator('Examples:')
opts.separator(' xapian_indexer.rb -s english,italian -v') opts.separator(' xapian_indexer.rb -s english,italian -v')
opts.separator(' xapian_indexer.rb -d $HOME/index_db -s english,italian -v')
opts.separator('') opts.separator('')
opts.summary_width = 25 opts.summary_width = 25
end end
@ -142,7 +146,7 @@ begin
warn "'#{filespath}' doesn't exist." warn "'#{filespath}' doesn't exist."
exit 1 exit 1
end end
databasepath = File.join(DBROOTPATH, lang) databasepath = File.join(db_root_path, lang)
unless File.directory?(databasepath) unless File.directory?(databasepath)
log "#{databasepath} does not exist, creating ...", verbose log "#{databasepath} does not exist, creating ...", verbose
FileUtils.mkdir_p databasepath FileUtils.mkdir_p databasepath

View File

@ -40,6 +40,7 @@ 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/access_control_patch"
require "#{File.dirname(__FILE__)}/redmine_dmsf/patches/search_patch" require "#{File.dirname(__FILE__)}/redmine_dmsf/patches/search_patch"
require "#{File.dirname(__FILE__)}/redmine_dmsf/patches/search_controller_patch" require "#{File.dirname(__FILE__)}/redmine_dmsf/patches/search_controller_patch"
require "#{File.dirname(__FILE__)}/redmine_dmsf/patches/custom_field_patch"
# A workaround for obsolete 'alias_method' usage in RedmineUp's plugins # A workaround for obsolete 'alias_method' usage in RedmineUp's plugins
if RedmineDmsf::Plugin.an_obsolete_plugin_present? if RedmineDmsf::Plugin.an_obsolete_plugin_present?

View File

@ -0,0 +1,39 @@
# frozen_string_literal: true
# Redmine plugin for Document Management System "Features"
#
# 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
# 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.
module RedmineDmsf
module Patches
# CustomField patch
module CustomFieldPatch
def self.included(base)
base.class_eval do
safe_attributes :dmsf_not_inheritable
end
end
end
end
end
# Apply patch
if Redmine::Plugin.installed?('easy_extensions')
RedmineExtensions::PatchManager.register_model_patch 'CustomField', 'RedmineDmsf::Patches::CustomFieldPatch'
else
CustomField.include RedmineDmsf::Patches::CustomFieldPatch
end

View File

@ -0,0 +1,28 @@
# frozen_string_literal: true
# Redmine plugin for Document Management System "Features"
#
# 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
# 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 File.expand_path('../../test_helper', __FILE__)
# CustomField patch test
class CustomFieldTest < RedmineDmsf::Test::UnitTest
def test_should_have_dmsf_not_inheritable_listed_as_safe_attribute
assert CustomField.new.safe_attribute_names.include?('dmsf_not_inheritable')
end
end