| @@ -52,6 +52,10 @@ class SendTemplateMessageJob < ApplicationJob | |||
| receivers = User.where(id: [issue&.assigned_to_id, issue&.author_id]) | |||
| receivers_string, content, notification_url = MessageTemplate::IssueExpire.get_message_content(receivers, issue) | |||
| Notice::Write::CreateService.call(receivers_string, content, notification_url, source, {issue_id: issue.id}) | |||
| receivers.find_each do |receiver| | |||
| receivers_email_string, email_title, email_content = MessageTemplate::IssueExpire.get_email_message_content(receiver, issue) | |||
| Notice::Write::EmailCreateService.call(receivers_email_string, email_title, email_content) | |||
| end | |||
| when 'IssueDeleted' | |||
| operator_id, issue_title, issue_assigned_to_id, issue_author_id = args[0], args[1], args[2], args[3] | |||
| operator = User.find_by_id(operator_id) | |||
| @@ -16,15 +16,21 @@ | |||
| class MessageTemplate::IssueExpire < MessageTemplate | |||
| # MessageTemplate::IssueCreatorExpire.get_message_content(User.where(login: 'yystopf'), Issue.last) | |||
| def self.get_message_content(receiver, issue) | |||
| if receiver.user_template_message_setting.present? | |||
| return '', '', '' unless receiver.user_template_message_setting.email_body["Normal::IssueExpire"] | |||
| project = issue&.project | |||
| owner = project&.owner | |||
| content = sys_notice.gsub('{title}', issue&.subject) | |||
| url = notification_url.gsub('{owner}', owner&.login).gsub('{identifier}', project&.identifier).gsub('{id}', issue&.id.to_s) | |||
| return receivers_string(receivers), content, url | |||
| def self.get_message_content(receivers, issue) | |||
| receivers.each do |receiver| | |||
| if receiver.user_template_message_setting.present? | |||
| send_setting = receiver.user_template_message_setting.notification_body["CreateOrAssign::IssueExpire"] | |||
| send_setting = send_setting.nil? ? UserTemplateMessageSetting.init_notification_body["CreateOrAssign::IssueExpire"] : send_setting | |||
| receivers = receivers.where.not(id: receiver.id) unless send_setting | |||
| end | |||
| end | |||
| return '', '', '' if receivers.blank? | |||
| project = issue&.project | |||
| owner = project&.owner | |||
| content = sys_notice.gsub('{title}', issue&.subject) | |||
| url = notification_url.gsub('{owner}', owner&.login).gsub('{identifier}', project&.identifier).gsub('{id}', issue&.id.to_s) | |||
| return receivers_string(receivers), content, url | |||
| else | |||
| return '', '', '' | |||
| end | |||
| @@ -35,7 +41,9 @@ class MessageTemplate::IssueExpire < MessageTemplate | |||
| def self.get_email_message_content(receiver, issue) | |||
| if receiver.user_template_message_setting.present? | |||
| return '', '', '' unless receiver.user_template_message_setting.email_body["Normal::IssueExpire"] | |||
| send_setting = receiver.user_template_message_setting.init_email_body["CreateOrAssign::IssueExpire"] | |||
| send_setting = send_setting.nil? ? UserTemplateMessageSetting.init_email_body["CreateOrAssign::IssueExpire"] : send_setting | |||
| return '', '', '' unless send_setting | |||
| project = issue&.project | |||
| owner = project&.owner | |||
| @@ -19,7 +19,9 @@ class MessageTemplate::ProjectForked < MessageTemplate | |||
| 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::Forked"] | |||
| send_setting = receiver.user_template_message_setting.notification_body["ManageProject::Forked"] | |||
| send_setting = send_setting.nil? ? UserTemplateMessageSetting.init_notification_body["ManageProject::Forked"] : send_setting | |||
| receivers = receivers.where.not(id: receiver.id) unless send_setting | |||
| end | |||
| end | |||
| return '', '', '' if receivers.blank? | |||
| @@ -19,6 +19,8 @@ class MessageTemplate::ProjectMilestone < MessageTemplate | |||
| def self.get_message_content(receivers, operator, milestone) | |||
| receivers.each do |receiver| | |||
| if receiver.user_template_message_setting.present? | |||
| send_setting = receiver.user_template_message_setting.notification_body["ManageProject::Milestone"] | |||
| send_setting = send_setting.nil? ? UserTemplateMessageSetting.init_notification_body["ManageProject::Milestone"] : send_setting | |||
| receivers = receivers.where.not(id: receiver.id) unless receiver.user_template_message_setting.notification_body["ManageProject::Milestone"] | |||
| end | |||
| end | |||
| @@ -36,7 +38,9 @@ class MessageTemplate::ProjectMilestone < MessageTemplate | |||
| def self.get_email_message_content(receiver, operator, milestone) | |||
| if receiver.user_template_message_setting.present? | |||
| return '', '', '' unless receiver.user_template_message_setting.email_body["ManageProject::Milestone"] | |||
| send_setting = receiver.user_template_message_setting.email_body["ManageProject::Milestone"] | |||
| send_setting = send_setting.nil? ? UserTemplateMessageSetting.init_email_body["ManageProject::Milestone"] : send_setting | |||
| return '', '', '' unless send_setting | |||
| project = milestone&.project | |||
| owner = project&.owner | |||
| title = email_title | |||
| @@ -19,7 +19,9 @@ class MessageTemplate::ProjectMilestoneCompleted < MessageTemplate | |||
| def self.get_message_content(receivers, milestone) | |||
| 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::MilestoneCompleted"] | |||
| send_setting = receiver.user_template_message_setting.notification_body["ManageProject::MilestoneCompleted"] | |||
| send_setting = send_setting.nil? ? UserTemplateMessageSetting.init_notification_body["ManageProject::MilestoneCompleted"] : send_setting | |||
| receivers = receivers.where.not(id: receiver.id) unless send_setting | |||
| end | |||
| end | |||
| return '', '', '' if receivers.blank? | |||
| @@ -36,7 +38,9 @@ class MessageTemplate::ProjectMilestoneCompleted < MessageTemplate | |||
| def self.get_email_message_content(receiver, milestone) | |||
| if receiver.user_template_message_setting.present? | |||
| return '', '', '' unless receiver.user_template_message_setting.email_body["ManageProject::MilestoneCompleted"] | |||
| send_setting = receiver.user_template_message_setting.email_body["ManageProject::MilestoneCompleted"] | |||
| send_setting = send_setting.nil? ? UserTemplateMessageSetting.init_email_body["ManageProject::MilestoneCompleted"] : send_setting | |||
| return '', '', '' unless send_setting | |||
| project = milestone&.project | |||
| owner = project&.owner | |||
| title = email_title | |||
| @@ -19,7 +19,9 @@ class MessageTemplate::ProjectPraised < MessageTemplate | |||
| 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::Praised"] | |||
| send_setting = receiver.user_template_message_setting.notification_body["ManageProject::Praised"] | |||
| send_setting = send_setting.nil? ? UserTemplateMessageSetting.init_notification_body["ManageProject::Praised"] : send_setting | |||
| receivers = receivers.where.not(id: receiver.id) unless send_setting | |||
| end | |||
| end | |||
| return '', '', '' if receivers.blank? | |||