use project relation for messenger_setting

This commit is contained in:
Alexander Meindl
2021-07-09 17:09:20 +02:00
parent 28f5d2d0c6
commit 7d39ba99ec
4 changed files with 21 additions and 7 deletions

View File

@@ -80,7 +80,7 @@ class Messenger
return if proj.blank?
# project based
pm = MessengerSetting.find_by project_id: proj.id
pm = proj.messenger_setting
return pm.messenger_url if !pm.nil? && pm.messenger_url.present?
# parent project based
@@ -104,7 +104,7 @@ class Messenger
return if proj.blank?
# project based
pm = MessengerSetting.find_by project_id: proj.id
pm = proj.messenger_setting
return pm.send config if !pm.nil? && pm.send(config).present?
default_textfield proj, config
@@ -123,7 +123,7 @@ class Messenger
return [] if proj.blank?
# project based
pm = MessengerSetting.find_by project_id: proj.id
pm = proj.messenger_setting
if !pm.nil? && pm.messenger_channel.present?
return [] if pm.messenger_channel == '-'
@@ -137,7 +137,7 @@ class Messenger
@setting_found = 0
# project based
pm = MessengerSetting.find_by project_id: proj.id
pm = proj.messenger_setting
unless pm.nil? || pm.send(config).zero?
@setting_found = 1
return false if pm.send(config) == 1

View File

@@ -5,11 +5,11 @@ class MessengerSetting < ActiveRecord::Base
validates :messenger_url, format: { with: URI::DEFAULT_PARSER.make_regexp(%w[http https]), allow_blank: true }
def self.find_or_create(p_id)
setting = MessengerSetting.find_by project_id: p_id
def self.find_or_create(project_id)
setting = MessengerSetting.find_by project_id: project_id
unless setting
setting = MessengerSetting.new
setting.project_id = p_id
setting.project_id = project_id
setting.save!
end

View File

@@ -10,6 +10,7 @@ module RedmineMessenger
def setup
# Patches
Issue.include RedmineMessenger::Patches::IssuePatch
Project.include RedmineMessenger::Patches::ProjectPatch
WikiPage.include RedmineMessenger::Patches::WikiPagePatch
ProjectsController.send :helper, MessengerProjectsHelper
Contact.include RedmineMessenger::Patches::ContactPatch if RedmineMessenger::REDMINE_CONTACTS_SUPPORT

View File

@@ -0,0 +1,13 @@
# frozen_string_literal: true
module RedmineMessenger
module Patches
module ProjectPatch
extend ActiveSupport::Concern
included do
has_one :messenger_setting
end
end
end
end