add: template message control by setting
This commit is contained in:
parent
dbdd2e2dd3
commit
88a7456300
|
@ -17,6 +17,12 @@ class MessageTemplate::IssueAssigned < MessageTemplate
|
|||
|
||||
# MessageTemplate::IssueAssigned.get_message_content(User.where(login: 'yystopf'), User.last, Issue.last)
|
||||
def self.get_message_content(receivers, operator, issue)
|
||||
receivers.each do |receiver|
|
||||
if receiver.user_template_message_setting.present?
|
||||
receivers = receivers.where.not(id: receiver.id) unless receiver.user_template_message_setting.notification_body["CreateOrAssign::IssueAssigned"]
|
||||
end
|
||||
end
|
||||
return '', '', '' if receivers.blank?
|
||||
project = issue&.project
|
||||
owner = project&.owner
|
||||
content = sys_notice.gsub('{nickname1}', operator&.real_name).gsub('{nickname2}', owner&.real_name).gsub('{repository}', project&.name).gsub('{title}', issue&.subject)
|
||||
|
@ -28,6 +34,9 @@ class MessageTemplate::IssueAssigned < MessageTemplate
|
|||
end
|
||||
|
||||
def self.get_email_message_content(receiver, operator, issue)
|
||||
if receiver.user_template_message_setting.present?
|
||||
return '', '', '' unless receiver.user_template_message_setting.email_body["CreateOrAssign::IssueAssigned"]
|
||||
end
|
||||
project = issue&.project
|
||||
owner = project&.owner
|
||||
title = email_title
|
||||
|
|
|
@ -17,6 +17,12 @@ class MessageTemplate::OrganizationJoined < MessageTemplate
|
|||
|
||||
# MessageTemplate::OrganizationJoined.get_message_content(User.where(login: 'yystopf'), Organization.last)
|
||||
def self.get_message_content(receivers, organization)
|
||||
receivers.each do |receiver|
|
||||
if receiver.user_template_message_setting.present?
|
||||
receivers = receivers.where.not(id: receiver.id) unless receiver.user_template_message_setting.notification_body["Normal::Organization"]
|
||||
end
|
||||
end
|
||||
return '', '', '' if receivers.blank?
|
||||
content = sys_notice.gsub('{organization}', organization&.real_name)
|
||||
url = notification_url.gsub('{login}', organization&.name)
|
||||
return receivers_string(receivers), content, url
|
||||
|
@ -26,6 +32,9 @@ class MessageTemplate::OrganizationJoined < MessageTemplate
|
|||
end
|
||||
|
||||
def self.get_email_message_content(receiver, organization)
|
||||
if receiver.user_template_message_setting.present?
|
||||
return '', '', '' unless receiver.user_template_message_setting.email_body["Normal::Organization"]
|
||||
end
|
||||
title = email_title
|
||||
title.gsub!('{organization}', organization&.real_name)
|
||||
content = email
|
||||
|
|
|
@ -17,6 +17,12 @@ class MessageTemplate::OrganizationLeft < MessageTemplate
|
|||
|
||||
# MessageTemplate::OrganizationLeft.get_message_content(User.where(login: 'yystopf'), Organization.last)
|
||||
def self.get_message_content(receivers, organization)
|
||||
receivers.each do |receiver|
|
||||
if receiver.user_template_message_setting.present?
|
||||
receivers = receivers.where.not(id: receiver.id) unless receiver.user_template_message_setting.notification_body["Normal::Organization"]
|
||||
end
|
||||
end
|
||||
return '', '', '' if receivers.blank?
|
||||
content = sys_notice.gsub('{organization}', organization&.real_name)
|
||||
url = notification_url.gsub('{login}', organization&.name)
|
||||
return receivers_string(receivers), content, url
|
||||
|
@ -26,6 +32,9 @@ class MessageTemplate::OrganizationLeft < MessageTemplate
|
|||
end
|
||||
|
||||
def self.get_email_message_content(receiver, organization)
|
||||
if receiver.user_template_message_setting.present?
|
||||
return '', '', '' unless receiver.user_template_message_setting.email_body["Normal::Organization"]
|
||||
end
|
||||
title = email_title
|
||||
title.gsub!('{organization}', organization&.real_name)
|
||||
content = email
|
||||
|
|
|
@ -17,6 +17,12 @@ class MessageTemplate::OrganizationRole < MessageTemplate
|
|||
|
||||
# MessageTemplate::OrganizationRole.get_message_content(User.where(login: 'yystopf'), Organization.last, '管理员')
|
||||
def self.get_message_content(receivers, organization, role)
|
||||
receivers.each do |receiver|
|
||||
if receiver.user_template_message_setting.present?
|
||||
receivers = receivers.where.not(id: receiver.id) unless receiver.user_template_message_setting.notification_body["Normal::Permission"]
|
||||
end
|
||||
end
|
||||
return '', '', '' if receivers.blank?
|
||||
content = sys_notice.gsub('{organization}', organization&.real_name).gsub('{role}', role)
|
||||
url = notification_url.gsub('{login}', organization&.login)
|
||||
return receivers_string(receivers), content, url
|
||||
|
@ -26,6 +32,9 @@ class MessageTemplate::OrganizationRole < MessageTemplate
|
|||
end
|
||||
|
||||
def self.get_email_message_content(receiver, organization, role)
|
||||
if receiver.user_template_message_setting.present?
|
||||
return '', '', '' unless receiver.user_template_message_setting.email_body["Normal::Permission"]
|
||||
end
|
||||
title = email_title
|
||||
title.gsub!('{organization}', organization&.real_name)
|
||||
title.gsub!('{role}', role)
|
||||
|
|
|
@ -17,6 +17,12 @@ class MessageTemplate::ProjectIssue < MessageTemplate
|
|||
|
||||
# MessageTemplate::ProjectIssue.get_message_content(User.where(login: 'yystopf'), User.where(login: 'forgetest1'), User.last, Issue.last)
|
||||
def self.get_message_content(managers, followers, operator, issue)
|
||||
managers.each do |receiver|
|
||||
if receiver.user_template_message_setting.present?
|
||||
managers = managers.where.not(id: receiver.id) unless receiver.user_template_message_setting.notification_body["ManageProject::Issue"]
|
||||
end
|
||||
end
|
||||
return '', '', '' if receivers.blank?
|
||||
project = issue&.project
|
||||
owner = project&.owner
|
||||
receivers = managers + followers
|
||||
|
@ -30,6 +36,9 @@ class MessageTemplate::ProjectIssue < MessageTemplate
|
|||
end
|
||||
|
||||
def self.get_email_message_content(receiver, is_manager, operator, issue)
|
||||
if receiver.user_template_message_setting.present? && is_manager
|
||||
return '', '', '' unless receiver.user_template_message_setting.email_body["ManageProject::Issue"]
|
||||
end
|
||||
project = issue&.project
|
||||
owner = project&.owner
|
||||
title = email_title
|
||||
|
|
|
@ -17,6 +17,12 @@ class MessageTemplate::ProjectJoined < MessageTemplate
|
|||
|
||||
# MessageTemplate::ProjectJoined.get_message_content(User.where(login: 'yystopf'), Project.last)
|
||||
def self.get_message_content(receivers, project)
|
||||
receivers.each do |receiver|
|
||||
if receiver.user_template_message_setting.present?
|
||||
receivers = receivers.where.not(id: receiver.id) unless receiver.user_template_message_setting.notification_body["Normal::Project"]
|
||||
end
|
||||
end
|
||||
return '', '', '' if receivers.blank?
|
||||
content = sys_notice.gsub('{repository}', project&.name)
|
||||
url = notification_url.gsub('{owner}', project&.owner&.login).gsub('{identifier}', project&.identifier)
|
||||
return receivers_string(receivers), content, url
|
||||
|
@ -26,6 +32,9 @@ class MessageTemplate::ProjectJoined < MessageTemplate
|
|||
end
|
||||
|
||||
def self.get_email_message_content(receiver, project)
|
||||
if receiver.user_template_message_setting.present?
|
||||
return '', '', '' unless receiver.user_template_message_setting.email_body["Normal::Project"]
|
||||
end
|
||||
title = email_title
|
||||
title.gsub!('{repository}', project&.name)
|
||||
|
||||
|
|
|
@ -17,6 +17,11 @@ class MessageTemplate::ProjectLeft < MessageTemplate
|
|||
|
||||
# MessageTemplate::ProjectLeft.get_message_content(User.where(login: 'yystopf'), Project.last)
|
||||
def self.get_message_content(receivers, project)
|
||||
receivers.each do |receiver|
|
||||
if receiver.user_template_message_setting.present?
|
||||
receivers = receivers.where.not(id: receiver.id) unless receiver.user_template_message_setting.notification_body["Normal::Project"]
|
||||
end
|
||||
end
|
||||
content = sys_notice.gsub('{repository}', project&.name)
|
||||
url = notification_url.gsub('{owner}', project&.owner&.login).gsub('{identifier}', project&.identifier)
|
||||
return receivers_string(receivers), content, url
|
||||
|
@ -26,6 +31,9 @@ class MessageTemplate::ProjectLeft < MessageTemplate
|
|||
end
|
||||
|
||||
def self.get_email_message_content(receiver, project)
|
||||
if receiver.user_template_message_setting.present?
|
||||
return '', '', '' unless receiver.user_template_message_setting.email_body["Normal::Project"]
|
||||
end
|
||||
title = email_title
|
||||
title.gsub!('{repository}', project&.name)
|
||||
|
||||
|
|
|
@ -17,6 +17,12 @@ class MessageTemplate::ProjectMemberJoined < MessageTemplate
|
|||
|
||||
# MessageTemplate::ProjectMemberJoined.get_message_content(User.where(login: 'yystopf'))
|
||||
def self.get_message_content(receivers, user, project)
|
||||
receivers.each do |receiver|
|
||||
if receiver.user_template_message_setting.present?
|
||||
receivers = receivers.where.not(id: receiver.id) unless receiver.user_template_message_setting.notification_body["ManageProject::Member"]
|
||||
end
|
||||
end
|
||||
return '', '', '' if receivers.blank?
|
||||
content = sys_notice.gsub('{nickname1}', user&.real_name).gsub('{nickname2}', project&.owner&.real_name).gsub('{repository}', project&.name)
|
||||
url = notification_url.gsub('{owner}', project&.owner&.login).gsub('{identifier}', project&.identifier)
|
||||
return receivers_string(receivers), content, url
|
||||
|
@ -26,6 +32,9 @@ class MessageTemplate::ProjectMemberJoined < MessageTemplate
|
|||
end
|
||||
|
||||
def self.get_email_message_content(receiver, user, project)
|
||||
if receiver.user_template_message_setting.present?
|
||||
return '', '', '' unless receiver.user_template_message_setting.email_body["ManageProject::Member"]
|
||||
end
|
||||
title = email_title
|
||||
title.gsub!('{nickname1}', user&.real_name)
|
||||
title.gsub!('{nickname2}', project&.owner&.real_name)
|
||||
|
|
|
@ -17,6 +17,12 @@ class MessageTemplate::ProjectMemberLeft < MessageTemplate
|
|||
|
||||
# MessageTemplate::ProjectMemberLeft.get_message_content(User.where(login: 'yystopf'), User.last, Project.last)
|
||||
def self.get_message_content(receivers, user, project)
|
||||
receivers.each do |receiver|
|
||||
if receiver.user_template_message_setting.present?
|
||||
receivers = receivers.where.not(id: receiver.id) unless receiver.user_template_message_setting.notification_body["ManageProject::Member"]
|
||||
end
|
||||
end
|
||||
return '', '', '' if receivers.blank?
|
||||
content = sys_notice.gsub('{nickname1}', user&.real_name).gsub('{nickname2}', project&.owner&.real_name).gsub('{repository}', project&.name)
|
||||
url = notification_url.gsub('{owner}', project&.owner&.login).gsub('{identifier}', project&.identifier)
|
||||
return receivers_string(receivers), content, url
|
||||
|
@ -26,6 +32,9 @@ class MessageTemplate::ProjectMemberLeft < MessageTemplate
|
|||
end
|
||||
|
||||
def self.get_email_message_content(receiver, user, project)
|
||||
if receiver.user_template_message_setting.present?
|
||||
return '', '', '' unless receiver.user_template_message_setting.email_body["ManageProject::Member"]
|
||||
end
|
||||
title = email_title
|
||||
title.gsub!('{nickname1}', user&.real_name)
|
||||
title.gsub!('{nickname2}', project&.owner&.real_name)
|
||||
|
|
|
@ -17,9 +17,15 @@ class MessageTemplate::ProjectPullRequest < MessageTemplate
|
|||
|
||||
# MessageTemplate::ProjectPullRequest.get_message_content(User.where(login: 'yystopf'), User.where(login: 'testforge2'), User.last, PullRequest.last)
|
||||
def self.get_message_content(managers, followers, operator, pull_request)
|
||||
managers.each do |receiver|
|
||||
if receiver.user_template_message_setting.present?
|
||||
managers = managers.where.not(id: receiver.id) unless receiver.user_template_message_setting.notification_body["ManageProject::PullRequest"]
|
||||
end
|
||||
end
|
||||
project = pull_request&.project
|
||||
owner = project&.owner
|
||||
receivers = managers + followers
|
||||
return '', '', '' if receivers.blank?
|
||||
content = sys_notice.gsub('{nickname1}', operator&.real_name).gsub('{nickname2}', owner&.real_name).gsub('{repository}', project&.name).gsub('{title}', pull_request&.title)
|
||||
url = notification_url.gsub('{owner}', owner&.login).gsub('{identifier}', project&.identifier).gsub('{id}', pull_request&.id.to_s)
|
||||
|
||||
|
@ -30,6 +36,9 @@ class MessageTemplate::ProjectPullRequest < MessageTemplate
|
|||
end
|
||||
|
||||
def self.get_email_message_content(receiver, is_manager, operator, pull_request)
|
||||
if receiver.user_template_message_setting.present? && is_manager
|
||||
return '', '', '' unless receiver.user_template_message_setting.email_body["ManageProject::PullRequest"]
|
||||
end
|
||||
project = pull_request&.project
|
||||
owner = project&.owner
|
||||
title = email_title
|
||||
|
|
|
@ -17,6 +17,12 @@ class MessageTemplate::ProjectRole < MessageTemplate
|
|||
|
||||
# MessageTemplate::ProjectRole.get_message_content(User.where(login: 'yystopf'), Project.last, '管理员')
|
||||
def self.get_message_content(receivers, project, role)
|
||||
receivers.each do |receiver|
|
||||
if receiver.user_template_message_setting.present?
|
||||
receivers = receivers.where.not(id: receiver.id) unless receiver.user_template_message_setting.notification_body["Normal::Permission"]
|
||||
end
|
||||
end
|
||||
return '', '', '' if receivers.blank?
|
||||
content = sys_notice.gsub('{repository}', project&.name).gsub('{role}', role)
|
||||
url = notification_url.gsub('{owner}', project&.owner&.login).gsub('{identifier}', project&.identifier)
|
||||
return receivers_string(receivers), content, url
|
||||
|
@ -26,6 +32,9 @@ class MessageTemplate::ProjectRole < MessageTemplate
|
|||
end
|
||||
|
||||
def self.get_email_message_content(receivers, project, role)
|
||||
if receiver.user_template_message_setting.present?
|
||||
return '', '', '' unless receiver.user_template_message_setting.email_body["Normal::Permission"]
|
||||
end
|
||||
title = email_title
|
||||
title.gsub!('{repository}', project&.name)
|
||||
title.gsub!('{role}', role)
|
||||
|
|
|
@ -17,6 +17,12 @@ class MessageTemplate::ProjectSettingChanged < MessageTemplate
|
|||
|
||||
# MessageTemplate::ProjectSettingChanged.get_message_content(User.where(login: 'yystopf'), User.last, Project.last, {description: '测试修改项目简介', category: '大数据', language: 'Ruby', permission: '公有', navbar: '易修, 合并请求'})
|
||||
def self.get_message_content(receivers, operator, project, change_params)
|
||||
receivers.each do |receiver|
|
||||
if receiver.user_template_message_setting.present?
|
||||
receivers = receivers.where.not(id: receiver.id) unless receiver.user_template_message_setting.notification_body["ManageProject::SettingChanged"]
|
||||
end
|
||||
end
|
||||
return '', '', '' if receivers.blank?
|
||||
return '', '', '' if change_params.blank?
|
||||
owner = project&.owner
|
||||
content = sys_notice.gsub('{nickname1}', operator&.real_name).gsub('{nickname2}', owner&.real_name).gsub('{repository}', project&.name)
|
||||
|
@ -141,6 +147,9 @@ class MessageTemplate::ProjectSettingChanged < MessageTemplate
|
|||
end
|
||||
|
||||
def self.get_email_message_content(receiver, operator, project, change_params)
|
||||
if receiver.user_template_message_setting.present?
|
||||
return '', '', '' unless receiver.user_template_message_setting.email_body["ManageProject::SettingChanged"]
|
||||
end
|
||||
return '', '', '' if change_params.blank?
|
||||
owner = project&.owner
|
||||
title = email_title
|
||||
|
|
|
@ -17,6 +17,12 @@ class MessageTemplate::PullRequestAssigned < MessageTemplate
|
|||
|
||||
# MessageTemplate::PullRequestAssigned.get_message_content(User.where(login: 'yystopf'), User.last, PullRequest.last)
|
||||
def self.get_message_content(receivers, operator, pull_request)
|
||||
receivers.each do |receiver|
|
||||
if receiver.user_template_message_setting.present?
|
||||
receivers = receivers.where.not(id: receiver.id) unless receiver.user_template_message_setting.notification_body["CreateOrAssign::PullRequestAssigned"]
|
||||
end
|
||||
end
|
||||
return '', '', '' if receivers.blank?
|
||||
project = pull_request&.project
|
||||
owner = project&.owner
|
||||
content = sys_notice.gsub('{nickname1}', operator&.real_name).gsub('{nickname2}', owner&.real_name).gsub('{repository}', project&.name).gsub('{title}', pull_request&.title)
|
||||
|
@ -28,6 +34,9 @@ class MessageTemplate::PullRequestAssigned < MessageTemplate
|
|||
end
|
||||
|
||||
def self.get_email_message_content(receiver, operator, pull_request)
|
||||
if receiver.user_template_message_setting.present?
|
||||
return '', '', '' unless receiver.user_template_message_setting.email_body["CreateOrAssign::PullRequestAssigned"]
|
||||
end
|
||||
project = pull_request&.project
|
||||
owner = project&.owner
|
||||
title = email_title
|
||||
|
|
|
@ -22,8 +22,6 @@ class TemplateMessageSetting::CreateOrAssign < TemplateMessageSetting
|
|||
|
||||
def self.build_init_data
|
||||
self.find_or_create_by(name: "易修被指派", key: "IssueAssigned")
|
||||
self.find_or_create_by(name: "易修状态变更", key: "IssueChanged")
|
||||
self.find_or_create_by(name: "合并请求被指派", key: "PullRequestAssigned")
|
||||
self.find_or_create_by(name: "合并请求状态变更", key: "PullRequestChanged")
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue