From 669bc6ffe9c7a3be3ceabfdc864e7aaad7ae9c99 Mon Sep 17 00:00:00 2001 From: "karel.picman@lbcfree.net" Date: Tue, 18 May 2021 15:52:59 +0200 Subject: [PATCH] Easy project's tabs hook --- lib/redmine_dmsf.rb | 1 + .../hooks/helpers/project_helper_hooks.rb | 41 +++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 lib/redmine_dmsf/hooks/helpers/project_helper_hooks.rb diff --git a/lib/redmine_dmsf.rb b/lib/redmine_dmsf.rb index 531b8a70..515d00e4 100644 --- a/lib/redmine_dmsf.rb +++ b/lib/redmine_dmsf.rb @@ -74,6 +74,7 @@ require 'redmine_dmsf/hooks/views/custom_field_view_hooks' require 'redmine_dmsf/hooks/views/search_view_hooks' require 'redmine_dmsf/hooks/helpers/issues_helper_hooks' require 'redmine_dmsf/hooks/helpers/search_helper_hooks' +require 'redmine_dmsf/hooks/helpers/project_helper_hooks' # Macros require 'redmine_dmsf/macros' \ No newline at end of file diff --git a/lib/redmine_dmsf/hooks/helpers/project_helper_hooks.rb b/lib/redmine_dmsf/hooks/helpers/project_helper_hooks.rb new file mode 100644 index 00000000..bc3ecfda --- /dev/null +++ b/lib/redmine_dmsf/hooks/helpers/project_helper_hooks.rb @@ -0,0 +1,41 @@ +# encoding: utf-8 +# frozen_string_literal: true +# +# Redmine plugin for Document Management System "Features" +# +# Copyright © 2011-21 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. + +module RedmineDmsf + module Hooks + include Redmine::Hook + + class HelperProjectsHook < RedmineDmsf::Hooks::Listener + + def helper_project_settings_tabs(context) + dmsf_tabs = [ + { name: 'dmsf', action: { controller: 'dmsf_state', action: 'user_pref_save' }, + partial: 'dmsf_state/user_pref', label: :menu_dmsf }, + { name: 'dmsf_workflow', action: { controller: 'dmsf_workflows', action: 'index' }, + partial: 'dmsf_workflows/main', label: :label_dmsf_workflow_plural } + ] + context[:tabs].concat(dmsf_tabs.select { |dmsf_tab| User.current.allowed_to?(dmsf_tab[:action], context[:project]) }) + end + + end + + end +end \ No newline at end of file