From cb8852d95c724a1671dbdb88933f87744dec065a Mon Sep 17 00:00:00 2001 From: Alexander Meindl Date: Thu, 25 May 2017 13:32:47 +0200 Subject: [PATCH] Fix compatible with other plugins which overwrites projects_helper --- lib/redmine_messenger.rb | 3 +++ lib/redmine_messenger/helpers.rb | 21 +++++++++++++++++++ .../patches/projects_helper_patch.rb | 16 -------------- 3 files changed, 24 insertions(+), 16 deletions(-) create mode 100644 lib/redmine_messenger/helpers.rb diff --git a/lib/redmine_messenger.rb b/lib/redmine_messenger.rb index 2a56066..7e6f739 100644 --- a/lib/redmine_messenger.rb +++ b/lib/redmine_messenger.rb @@ -12,6 +12,9 @@ Rails.configuration.to_prepare do require 'redmine_messenger/patches/db_entry_patch' if RedmineMessenger::REDMINE_DB_SUPPORT require 'redmine_messenger/patches/password_patch' if RedmineMessenger::REDMINE_PASSWORDS_SUPPORT + # Global helpers + require_dependency 'redmine_messenger/helpers' + # Hooks require_dependency 'redmine_messenger/hooks' end diff --git a/lib/redmine_messenger/helpers.rb b/lib/redmine_messenger/helpers.rb new file mode 100644 index 0000000..c304817 --- /dev/null +++ b/lib/redmine_messenger/helpers.rb @@ -0,0 +1,21 @@ +# Redmine Messenger plugin for Redmine + +module RedmineMessenger + module Helpers + def project_messenger_options(active) + options_for_select({ l(:label_messenger_settings_default) => 0, + l(:label_messenger_settings_disabled) => 1, + l(:label_messenger_settings_enabled) => 2 }, active) + end + + def project_setting_messenger_default_value(value) + if Messenger.default_project_setting(@project, value) + l(:label_messenger_settings_enabled) + else + l(:label_messenger_settings_disabled) + end + end + end +end + +ActionView::Base.send :include, RedmineMessenger::Helpers diff --git a/lib/redmine_messenger/patches/projects_helper_patch.rb b/lib/redmine_messenger/patches/projects_helper_patch.rb index dd01177..8235cf9 100644 --- a/lib/redmine_messenger/patches/projects_helper_patch.rb +++ b/lib/redmine_messenger/patches/projects_helper_patch.rb @@ -1,7 +1,5 @@ # Redmine Messenger plugin for Redmine -require_dependency 'projects_helper' - module RedmineMessenger module Patches module ProjectsHelperPatch @@ -13,12 +11,6 @@ module RedmineMessenger end module InstanceMethods - def project_messenger_options(active) - options_for_select({ l(:label_messenger_settings_default) => 0, - l(:label_messenger_settings_disabled) => 1, - l(:label_messenger_settings_enabled) => 2 }, active) - end - def project_settings_tabs_with_messenger tabs = project_settings_tabs_without_messenger action = { name: 'messenger', @@ -30,14 +22,6 @@ module RedmineMessenger tabs << action if User.current.allowed_to?(:manage_messenger, @project) tabs end - - def project_setting_messenger_default_value(value) - if Messenger.default_project_setting(@project, value) - l(:label_messenger_settings_enabled) - else - l(:label_messenger_settings_disabled) - end - end end end end