use project relation for messenger_setting
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
13
lib/redmine_messenger/patches/project_patch.rb
Normal file
13
lib/redmine_messenger/patches/project_patch.rb
Normal 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
|
||||
Reference in New Issue
Block a user