', notification_url: '{baseurl}/{owner}/{identifier}/pulls/{id}', email: email_html, email_title: "#{PLATFORM}: {nickname1} 在 {nickname2}/{repository} 指派给你一个合并请求")
self.create(type: 'MessageTemplate::PullRequestAtme', sys_notice: '{nickname} 在合并请求 {title} 中@我', notification_url: '{baseurl}/{owner}/{identifier}/pulls/{id}')
email_html = File.read("#{email_template_html_dir}/pull_request_changed.html")
- self.create(type: 'MessageTemplate::PullRequestChanged', sys_notice: '在项目{nickname2}/{repository}的合并请求 {title} 中:{ifassigner}{nickname1}将审查成员从 {assigner1} 修改为 {assigner2} {endassigner}{ifmilestone}{nickname1}将里程碑从 {milestone1} 修改为 {milestone2} {endmilestone}{iftag}{nickname1}将标记从 {tag1} 修改为 {tag2} {endtag}{ifpriority}{nickname1}将优先级从 {priority1} 修改为 {priority2} {endpriority}', email: email_html, email_title: 'GitLink: 合并请求 {title} 有状态变更', notification_url: '{baseurl}/{owner}/{identifier}/pulls/{id}')
+ self.create(type: 'MessageTemplate::PullRequestChanged', sys_notice: '在项目{nickname2}/{repository}的合并请求 {title} 中:{ifassigner}{nickname1}将审查成员从 {assigner1} 修改为 {assigner2} {endassigner}{ifmilestone}{nickname1}将里程碑从 {milestone1} 修改为 {milestone2} {endmilestone}{iftag}{nickname1}将标记从 {tag1} 修改为 {tag2} {endtag}{ifpriority}{nickname1}将优先级从 {priority1} 修改为 {priority2} {endpriority}', email: email_html, email_title: "#{PLATFORM}: 合并请求 {title} 有状态变更", notification_url: '{baseurl}/{owner}/{identifier}/pulls/{id}')
email_html = File.read("#{email_template_html_dir}/pull_request_closed.html")
- self.create(type: 'MessageTemplate::PullRequestClosed', sys_notice: '你提交的合并请求:{title} 被拒绝 ', email: email_html, email_title: 'GitLink: 合并请求 {title} 有状态变更', notification_url: '')
+ self.create(type: 'MessageTemplate::PullRequestClosed', sys_notice: '你提交的合并请求:{title} 被拒绝 ', email: email_html, email_title: "#{PLATFORM}: 合并请求 {title} 有状态变更", notification_url: '')
self.create(type: 'MessageTemplate::PullRequestJournal', sys_notice: '{nickname}评论合并请求{title}:{notes} ', notification_url: '{baseurl}/{owner}/{identifier}/pulls/{id}')
email_html = File.read("#{email_template_html_dir}/pull_request_merged.html")
- self.create(type: 'MessageTemplate::PullRequestMerged', sys_notice: '你提交的合并请求:{title} 已通过 ', email: email_html, email_title: 'GitLink: 合并请求 {title} 有状态变更', notification_url: '{baseurl}/{owner}/{identifier}/pulls/{id}')
+ self.create(type: 'MessageTemplate::PullRequestMerged', sys_notice: '你提交的合并请求:{title} 已通过 ', email: email_html, email_title: "#{PLATFORM}: 合并请求 {title} 有状态变更", notification_url: '{baseurl}/{owner}/{identifier}/pulls/{id}')
email_html = File.read("#{email_template_html_dir}/team_joined.html")
- self.create(type: 'MessageTemplate::TeamJoined', sys_notice: '你已被拉入组织 {organization} 的 {team} 团队,拥有{role} 权限', email: email_html, email_title: 'GitLink: 在 {organization} 组织你的账号有权限变更', notification_url: '{baseurl}/{login}')
+ self.create(type: 'MessageTemplate::TeamJoined', sys_notice: '你已被拉入组织 {organization} 的 {team} 团队,拥有{role} 权限', email: email_html, email_title: "#{PLATFORM}: 在 {organization} 组织你的账号有权限变更", notification_url: '{baseurl}/{login}')
email_html = File.read("#{email_template_html_dir}/team_left.html")
- self.create(type: 'MessageTemplate::TeamLeft', sys_notice: '你已被移出组织 {organization} 的 {team} 团队', email: email_html, email_title: 'GitLink: 在 {organization} 组织你的账号有权限变更', notification_url: '{baseurl}/{login}')
+ self.create(type: 'MessageTemplate::TeamLeft', sys_notice: '你已被移出组织 {organization} 的 {team} 团队', email: email_html, email_title: "#{PLATFORM}: 在 {organization} 组织你的账号有权限变更", notification_url: '{baseurl}/{login}')
end
def self.sys_notice
diff --git a/app/models/message_template/issue_assigned.rb b/app/models/message_template/issue_assigned.rb
index 7ce7f10c2..7f8494f69 100644
--- a/app/models/message_template/issue_assigned.rb
+++ b/app/models/message_template/issue_assigned.rb
@@ -53,6 +53,7 @@ class MessageTemplate::IssueAssigned < MessageTemplate
content.gsub!('{baseurl}', base_url)
content.gsub!('{title}', issue&.subject)
content.gsub!('{id}', issue&.id.to_s)
+ content.gsub!('{platform}', PLATFORM)
return receiver&.mail, title, content
else
diff --git a/app/models/message_template/issue_changed.rb b/app/models/message_template/issue_changed.rb
index 4d9e132cb..e8a5e5cdb 100644
--- a/app/models/message_template/issue_changed.rb
+++ b/app/models/message_template/issue_changed.rb
@@ -359,6 +359,7 @@ class MessageTemplate::IssueChanged < MessageTemplate
else
content.gsub!(/({ifduedate})(.*)({endduedate})/, '')
end
+ content.gsub!('{platform}', PLATFORM)
return receiver&.mail, title, content
else
diff --git a/app/models/message_template/issue_creator_expire.rb b/app/models/message_template/issue_creator_expire.rb
index 475c05ce0..e6f42fcc4 100644
--- a/app/models/message_template/issue_creator_expire.rb
+++ b/app/models/message_template/issue_creator_expire.rb
@@ -1,29 +1,3 @@
-# == Schema Information
-#
-# Table name: message_templates
-#
-# id :integer not null, primary key
-# type :string(255)
-# sys_notice :text(65535)
-# email :text(65535)
-# created_at :datetime not null
-# updated_at :datetime not null
-# notification_url :string(255)
-# email_title :string(255)
-#
-
-# 我创建的疑修截止日期到达最后一天
class MessageTemplate::IssueCreatorExpire < MessageTemplate
- # MessageTemplate::IssueCreatorExpire.get_message_content(User.where(login: 'yystopf'), Issue.last)
- def self.get_message_content(receivers, issue)
- 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
- rescue => e
- Rails.logger.info("MessageTemplate::IssueAssignerExpire.get_message_content [ERROR] #{e}")
- return '', '', ''
- end
-end
+end
\ No newline at end of file
diff --git a/app/models/message_template/issue_deleted.rb b/app/models/message_template/issue_deleted.rb
index a3eae75de..599cc2359 100644
--- a/app/models/message_template/issue_deleted.rb
+++ b/app/models/message_template/issue_deleted.rb
@@ -41,6 +41,7 @@ class MessageTemplate::IssueDeleted < MessageTemplate
content.gsub!('{login}', operator&.login)
content.gsub!('{baseurl}', base_url)
content.gsub!('{title}', issue_title)
+ content.gsub!('{platform}', PLATFORM)
return receiver&.mail, title, content
else
diff --git a/app/models/message_template/issue_expire.rb b/app/models/message_template/issue_expire.rb
new file mode 100644
index 000000000..88593d848
--- /dev/null
+++ b/app/models/message_template/issue_expire.rb
@@ -0,0 +1,61 @@
+# == Schema Information
+#
+# Table name: message_templates
+#
+# id :integer not null, primary key
+# type :string(255)
+# sys_notice :text(65535)
+# email :text(65535)
+# created_at :datetime not null
+# updated_at :datetime not null
+# notification_url :string(255)
+# email_title :string(255)
+#
+
+# 我创建或负责的疑修截止日期到达最后一天
+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
+ else
+ return '', '', ''
+ end
+ rescue => e
+ Rails.logger.info("MessageTemplate::IssueExpire.get_message_content [ERROR] #{e}")
+ return '', '', ''
+ end
+
+ 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"]
+ project = issue&.project
+ owner = project&.owner
+
+ content = email
+ content.gsub!('{receiver}', receiver&.real_name)
+ content.gsub!('{nickname}', owner&.real_name)
+ content.gsub!('{login}', owner&.login)
+ content.gsub!('{identifier}', project&.identifier)
+ content.gsub!('{repository}', project&.name)
+ content.gsub!('{baseurl}', base_url)
+ content.gsub!('{title}', issue&.subject)
+ content.gsub!('{id}', issue&.id.to_s)
+ content.gsub!('{platform}', PLATFORM)
+
+ return receiver&.mail, title, content
+ else
+ return '', '', ''
+ end
+ rescue => e
+ Rails.logger.info("MessageTemplate::IssueExpire.get_email_message_content [ERROR] #{e}")
+ return '', '', ''
+ end
+end
diff --git a/app/models/message_template/organization_joined.rb b/app/models/message_template/organization_joined.rb
index 30f91ac98..daa3f0fe5 100644
--- a/app/models/message_template/organization_joined.rb
+++ b/app/models/message_template/organization_joined.rb
@@ -41,6 +41,7 @@ class MessageTemplate::OrganizationJoined < MessageTemplate
content.gsub!('{baseurl}', base_url)
content.gsub!('{login}', organization&.login)
content.gsub!('{organization}', organization&.real_name)
+ content.gsub!('{platform}', PLATFORM)
return receiver&.mail, title, content
else
diff --git a/app/models/message_template/organization_left.rb b/app/models/message_template/organization_left.rb
index 50a771385..f21982e96 100644
--- a/app/models/message_template/organization_left.rb
+++ b/app/models/message_template/organization_left.rb
@@ -41,6 +41,7 @@ class MessageTemplate::OrganizationLeft < MessageTemplate
content.gsub!('{baseurl}', base_url)
content.gsub!('{login}', organization&.login)
content.gsub!('{organization}', organization&.real_name)
+ content.gsub!('{platform}', PLATFORM)
return receiver&.mail, title, content
else
diff --git a/app/models/message_template/organization_role.rb b/app/models/message_template/organization_role.rb
index 207712956..3919dc94e 100644
--- a/app/models/message_template/organization_role.rb
+++ b/app/models/message_template/organization_role.rb
@@ -43,6 +43,7 @@ class MessageTemplate::OrganizationRole < MessageTemplate
content.gsub!('{login}', organization&.login)
content.gsub!('{organization}', organization&.real_name)
content.gsub!('{role}', role)
+ content.gsub!('{platform}', PLATFORM)
return receiver&.mail, title, content
else
diff --git a/app/models/message_template/project_forked.rb b/app/models/message_template/project_forked.rb
index 7cd17222d..a395d0db6 100644
--- a/app/models/message_template/project_forked.rb
+++ b/app/models/message_template/project_forked.rb
@@ -12,11 +12,19 @@
# email_title :string(255)
#
-# TODO 我管理的仓库被复刻
+# 我管理的仓库被复刻
class MessageTemplate::ProjectForked < MessageTemplate
# MessageTemplate::ProjectForked.get_message_content(User.where(login: 'yystopf'))
- def self.get_message_content(receivers)
+ 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"]
+ 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('{login}', user&.login).gsub('{identifier}', project&.identifier)
return receivers_string(receivers), content, url
rescue => e
Rails.logger.info("MessageTemplate::ProjectForked.get_message_content [ERROR] #{e}")
diff --git a/app/models/message_template/project_issue.rb b/app/models/message_template/project_issue.rb
index 5904a4285..e04830836 100644
--- a/app/models/message_template/project_issue.rb
+++ b/app/models/message_template/project_issue.rb
@@ -56,6 +56,7 @@ class MessageTemplate::ProjectIssue < MessageTemplate
content.gsub!('{identifier}', project&.identifier)
content.gsub!('{id}', issue&.id.to_s)
content.gsub!('{title}', issue&.subject)
+ content.gsub!('{platform}', PLATFORM)
return receiver&.mail, title, content
else
diff --git a/app/models/message_template/project_joined.rb b/app/models/message_template/project_joined.rb
index c2d23fbd2..1f83c3129 100644
--- a/app/models/message_template/project_joined.rb
+++ b/app/models/message_template/project_joined.rb
@@ -44,6 +44,7 @@ class MessageTemplate::ProjectJoined < MessageTemplate
content.gsub!('{identifier}', project&.identifier)
content.gsub!('{nickname}', project&.owner&.real_name)
content.gsub!('{repository}', project&.name)
+ content.gsub!('{platform}', PLATFORM)
return receiver&.mail, title, content
else
diff --git a/app/models/message_template/project_left.rb b/app/models/message_template/project_left.rb
index 6f5bafa02..4df14c15e 100644
--- a/app/models/message_template/project_left.rb
+++ b/app/models/message_template/project_left.rb
@@ -43,6 +43,7 @@ class MessageTemplate::ProjectLeft < MessageTemplate
content.gsub!('{identifier}', project&.identifier)
content.gsub!('{nickname}', project&.owner&.real_name)
content.gsub!('{repository}', project&.name)
+ content.gsub!('{platform}', PLATFORM)
return receiver&.mail, title, content
else
diff --git a/app/models/message_template/project_member_joined.rb b/app/models/message_template/project_member_joined.rb
index e9b6b5d51..4c0a77a0a 100644
--- a/app/models/message_template/project_member_joined.rb
+++ b/app/models/message_template/project_member_joined.rb
@@ -48,6 +48,7 @@ class MessageTemplate::ProjectMemberJoined < MessageTemplate
content.gsub!('{nickname1}', user&.real_name)
content.gsub!('{nickname2}', project&.owner&.real_name)
content.gsub!('{repository}', project&.name)
+ content.gsub!('{platform}', PLATFORM)
return receiver&.mail, title, content
else
diff --git a/app/models/message_template/project_member_left.rb b/app/models/message_template/project_member_left.rb
index 23d4ef5f3..d1891e7bd 100644
--- a/app/models/message_template/project_member_left.rb
+++ b/app/models/message_template/project_member_left.rb
@@ -48,6 +48,7 @@ class MessageTemplate::ProjectMemberLeft < MessageTemplate
content.gsub!('{nickname1}', user&.real_name)
content.gsub!('{nickname2}', project&.owner&.real_name)
content.gsub!('{repository}', project&.name)
+ content.gsub!('{platform}', PLATFORM)
return receiver&.mail, title, content
else
diff --git a/app/models/message_template/project_milestone.rb b/app/models/message_template/project_milestone.rb
index 14f992cdd..8c9c47d16 100644
--- a/app/models/message_template/project_milestone.rb
+++ b/app/models/message_template/project_milestone.rb
@@ -12,14 +12,57 @@
# email_title :string(255)
#
-# TODO 我管理的仓库有新的里程碑
+# 我管理的仓库有新的里程碑
class MessageTemplate::ProjectMilestone < MessageTemplate
# MessageTemplate::ProjectMilestone.get_message_content(User.where(login: 'yystopf'))
- def self.get_message_content(receivers)
+ def self.get_message_content(receivers, operator, 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::Milestone"]
+ end
+ end
+ return '', '', '' if receivers.blank?
+ project = milestone&.project
+ owner = project&.owner
+ content = sys_notice.gsub('{nickname1}', operator&.real_name).gsub('{nickname2}', owner&.real_name).gsub('{repository}', project&.name).gsub('{name}', milestone&.name)
+ url = notification_url.gsub('{owner}', owner&.login).gsub('{identifier}', project&.identifier).gsub('{id}', milestone&.id.to_s)
+
return receivers_string(receivers), content, url
rescue => e
Rails.logger.info("MessageTemplate::ProjectMilestone.get_message_content [ERROR] #{e}")
return '', '', ''
end
+
+ 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"]
+ project = milestone&.project
+ owner = project&.owner
+ title = email_title
+ title.gsub!('{nickname1}', operator&.real_name)
+ title.gsub!('{nickname2}', owner&.real_name)
+ title.gsub!('{repository}', project&.name)
+
+ content = email
+ content.gsub!('{receiver}', receiver&.real_name)
+ content.gsub!('{baseurl}', base_url)
+ content.gsub!('{nickname1}', operator&.real_name)
+ content.gsub!('{nickname2}', owner&.real_name)
+ content.gsub!('{repository}', project&.name)
+ content.gsub!('{login}', owner&.login)
+ content.gsub!('{identifier}', project&.identifier)
+ content.gsub!('{id}', milestone&.id.to_s)
+ content.gsub!('{name}', milestone&.name)
+ content.gsub!('{platform}', PLATFORM)
+
+ return receiver&.mail, title, content
+ else
+ return '', '', ''
+ end
+
+ rescue => e
+ Rails.logger.info("MessageTemplate::ProjectMilestone.get_email_message_content [ERROR] #{e}")
+ return '', '', ''
+ end
end
diff --git a/app/models/message_template/project_milestone_completed.rb b/app/models/message_template/project_milestone_completed.rb
new file mode 100644
index 000000000..eec895a6b
--- /dev/null
+++ b/app/models/message_template/project_milestone_completed.rb
@@ -0,0 +1,66 @@
+# == Schema Information
+#
+# Table name: message_templates
+#
+# id :integer not null, primary key
+# type :string(255)
+# sys_notice :text(65535)
+# email :text(65535)
+# created_at :datetime not null
+# updated_at :datetime not null
+# notification_url :string(255)
+# email_title :string(255)
+#
+
+# 我管理的仓库有里程碑完成
+class MessageTemplate::ProjectMilestoneCompleted < MessageTemplate
+
+ # MessageTemplate::ProjectMilestoneCompleted.get_message_content(User.where(login: 'yystopf'))
+ 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"]
+ end
+ end
+ return '', '', '' if receivers.blank?
+ project = milestone&.project
+ owner = project&.owner
+ content = sys_notice.gsub('{nickname}', owner&.real_name).gsub('{repository}', project&.name).gsub('{name}', milestone&.name)
+ url = notification_url.gsub('{owner}', owner&.login).gsub('{identifier}', project&.identifier).gsub('{id}', milestone&.id.to_s)
+
+ return receivers_string(receivers), content, url
+ rescue => e
+ Rails.logger.info("MessageTemplate::ProjectMilestoneCompleted.get_message_content [ERROR] #{e}")
+ return '', '', ''
+ end
+
+ 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"]
+ project = milestone&.project
+ owner = project&.owner
+ title = email_title
+ title.gsub!('{nickname}', owner&.real_name)
+ title.gsub!('{repository}', project&.name)
+
+ content = email
+ content.gsub!('{receiver}', receiver&.real_name)
+ content.gsub!('{baseurl}', base_url)
+ content.gsub!('{nickname}', owner&.real_name)
+ content.gsub!('{repository}', project&.name)
+ content.gsub!('{login}', owner&.login)
+ content.gsub!('{identifier}', project&.identifier)
+ content.gsub!('{id}', milestone&.id.to_s)
+ content.gsub!('{name}', milestone&.name)
+ content.gsub!('{platform}', PLATFORM)
+
+ return receiver&.mail, title, content
+ else
+ return '', '', ''
+ end
+
+ rescue => e
+ Rails.logger.info("MessageTemplate::ProjectMilestoneCompleted.get_email_message_content [ERROR] #{e}")
+ return '', '', ''
+ end
+end
diff --git a/app/models/message_template/project_praised.rb b/app/models/message_template/project_praised.rb
index e6acee6f5..35af6148f 100644
--- a/app/models/message_template/project_praised.rb
+++ b/app/models/message_template/project_praised.rb
@@ -12,11 +12,19 @@
# email_title :string(255)
#
-# TODO 我管理的仓库被点赞
+# 我管理的仓库被点赞
class MessageTemplate::ProjectPraised < MessageTemplate
# MessageTemplate::ProjectPraised.get_message_content(User.where(login: 'yystopf'))
- def self.get_message_content(receivers)
+ 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"]
+ 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('{login}', user&.login)
return receivers_string(receivers), content, url
rescue => e
Rails.logger.info("MessageTemplate::ProjectPraised.get_message_content [ERROR] #{e}")
diff --git a/app/models/message_template/project_pull_request.rb b/app/models/message_template/project_pull_request.rb
index 40c700b29..f36ac0865 100644
--- a/app/models/message_template/project_pull_request.rb
+++ b/app/models/message_template/project_pull_request.rb
@@ -56,6 +56,7 @@ class MessageTemplate::ProjectPullRequest < MessageTemplate
content.gsub!('{identifier}', project&.identifier)
content.gsub!('{id}', pull_request&.id.to_s)
content.gsub!('{title}', pull_request&.title)
+ content.gsub!('{platform}', PLATFORM)
return receiver&.mail, title, content
else
diff --git a/app/models/message_template/project_role.rb b/app/models/message_template/project_role.rb
index f7f4940df..560f345ed 100644
--- a/app/models/message_template/project_role.rb
+++ b/app/models/message_template/project_role.rb
@@ -46,6 +46,7 @@ class MessageTemplate::ProjectRole < MessageTemplate
content.gsub!('{identifier}', project&.identifier)
content.gsub!('{repository}', project&.name)
content.gsub!('{role}', role)
+ content.gsub!('{platform}', PLATFORM)
return receiver&.mail, title, content
else
diff --git a/app/models/message_template/project_setting_changed.rb b/app/models/message_template/project_setting_changed.rb
index 49cf7821a..0920dfe7a 100644
--- a/app/models/message_template/project_setting_changed.rb
+++ b/app/models/message_template/project_setting_changed.rb
@@ -300,6 +300,7 @@ class MessageTemplate::ProjectSettingChanged < MessageTemplate
else
content.gsub!(/({ifnavbar})(.*)({endnavbar})/, '')
end
+ content.gsub!('{platform}', PLATFORM)
return receiver&.mail, title, content
else
diff --git a/app/models/message_template/pull_request_assigned.rb b/app/models/message_template/pull_request_assigned.rb
index bca37151a..642ca9120 100644
--- a/app/models/message_template/pull_request_assigned.rb
+++ b/app/models/message_template/pull_request_assigned.rb
@@ -53,6 +53,7 @@ class MessageTemplate::PullRequestAssigned < MessageTemplate
content.gsub!('{baseurl}', base_url)
content.gsub!('{title}', pull_request&.title)
content.gsub!('{id}', pull_request&.id.to_s)
+ content.gsub!('{platform}', PLATFORM)
return receiver&.mail, title, content
else
diff --git a/app/models/message_template/pull_request_changed.rb b/app/models/message_template/pull_request_changed.rb
index ab2c73b6b..a2071c23e 100644
--- a/app/models/message_template/pull_request_changed.rb
+++ b/app/models/message_template/pull_request_changed.rb
@@ -118,6 +118,7 @@ class MessageTemplate::PullRequestChanged < MessageTemplate
content.gsub!('{baseurl}', base_url)
content.gsub!('{title}', pull_request&.title)
content.gsub!('{id}', pull_request&.id.to_s)
+ content.gsub!('{platform}', PLATFORM)
change_count = change_params.keys.size
# 合并请求审查成员修改
diff --git a/app/models/message_template/pull_request_closed.rb b/app/models/message_template/pull_request_closed.rb
index ea1ffabcb..cb8b1b742 100644
--- a/app/models/message_template/pull_request_closed.rb
+++ b/app/models/message_template/pull_request_closed.rb
@@ -51,6 +51,7 @@ class MessageTemplate::PullRequestClosed < MessageTemplate
content.gsub!('{baseurl}', base_url)
content.gsub!('{title}', pull_request&.title)
content.gsub!('{id}', pull_request&.id.to_s)
+ content.gsub!('{platform}', PLATFORM)
return receiver&.mail, title, content
else
diff --git a/app/models/message_template/pull_request_merged.rb b/app/models/message_template/pull_request_merged.rb
index eb4bb5e17..384cf8f11 100644
--- a/app/models/message_template/pull_request_merged.rb
+++ b/app/models/message_template/pull_request_merged.rb
@@ -51,6 +51,7 @@ class MessageTemplate::PullRequestMerged < MessageTemplate
content.gsub!('{baseurl}', base_url)
content.gsub!('{title}', pull_request&.title)
content.gsub!('{id}', pull_request&.id.to_s)
+ content.gsub!('{platform}', PLATFORM)
return receiver&.mail, title, content
else
diff --git a/app/models/message_template/team_joined.rb b/app/models/message_template/team_joined.rb
index f49940952..90f153d99 100644
--- a/app/models/message_template/team_joined.rb
+++ b/app/models/message_template/team_joined.rb
@@ -45,6 +45,7 @@ class MessageTemplate::TeamJoined < MessageTemplate
content.gsub!('{organization}', organization&.real_name)
content.gsub!('{team}', team&.nickname)
content.gsub!('{role}', team&.authorize_name)
+ content.gsub!('{platform}', PLATFORM)
return receiver&.mail, title, content
else
diff --git a/app/models/message_template/team_left.rb b/app/models/message_template/team_left.rb
index 572422633..1618f41b7 100644
--- a/app/models/message_template/team_left.rb
+++ b/app/models/message_template/team_left.rb
@@ -45,6 +45,7 @@ class MessageTemplate::TeamLeft < MessageTemplate
content.gsub!('{organization}', organization&.real_name)
content.gsub!('{team}', team&.nickname)
content.gsub!('{role}', team&.authorize_name)
+ content.gsub!('{platform}', PLATFORM)
return receiver&.mail, title, content
else
diff --git a/app/models/template_message_setting.rb b/app/models/template_message_setting.rb
index a9c81500b..67f9586d0 100644
--- a/app/models/template_message_setting.rb
+++ b/app/models/template_message_setting.rb
@@ -22,6 +22,7 @@ class TemplateMessageSetting < ApplicationRecord
end
def self.build_init_data
+ TemplateMessageSetting.destroy_all
TemplateMessageSetting::CreateOrAssign.build_init_data
TemplateMessageSetting::ManageProject.build_init_data
TemplateMessageSetting::Normal.build_init_data
diff --git a/app/models/template_message_setting/create_or_assign.rb b/app/models/template_message_setting/create_or_assign.rb
index 50ef86433..4c392b4b7 100644
--- a/app/models/template_message_setting/create_or_assign.rb
+++ b/app/models/template_message_setting/create_or_assign.rb
@@ -27,5 +27,6 @@ class TemplateMessageSetting::CreateOrAssign < TemplateMessageSetting
def self.build_init_data
self.find_or_create_by(name: "疑修状态变更", key: "IssueChanged")
self.find_or_create_by(name: "合并请求状态变更", key: "PullRequestChanged")
+ self.find_or_create_by(name: "疑修截止日期到达最后一天", key: "IssueExpire", notification_disabled: false)
end
end
diff --git a/app/models/template_message_setting/manage_project.rb b/app/models/template_message_setting/manage_project.rb
index 7a80c9999..978761f94 100644
--- a/app/models/template_message_setting/manage_project.rb
+++ b/app/models/template_message_setting/manage_project.rb
@@ -29,5 +29,9 @@ class TemplateMessageSetting::ManageProject < TemplateMessageSetting
self.find_or_create_by(name: "有新的合并请求", key: "PullRequest")
self.find_or_create_by(name: "有成员变动", key: "Member")
self.find_or_create_by(name: "仓库设置被更改", key: "SettingChanged")
+ self.find_or_create_by(name: "被点赞", key: "Praised", notification_disabled: false, email_disabled: true)
+ self.find_or_create_by(name: "被fork", key: "Forked", notification_disabled: false, email_disabled: true)
+ self.find_or_create_by(name: "有新的里程碑", key: "Milestone", notification_disabled: false)
+ self.find_or_create_by(name: "有里程碑已完成", key: "MilestoneCompleted", notification_disabled: false)
end
end
diff --git a/app/models/user_template_message_setting.rb b/app/models/user_template_message_setting.rb
index 3a3416ee3..49db51d4d 100644
--- a/app/models/user_template_message_setting.rb
+++ b/app/models/user_template_message_setting.rb
@@ -35,10 +35,15 @@ class UserTemplateMessageSetting < ApplicationRecord
"Normal::PullRequestAssigned": true,
"CreateOrAssign::IssueChanged": true,
"CreateOrAssign::PullRequestChanged": true,
+ "CreateOrAssign::IssueExpire": true,
"ManageProject::Issue": true,
"ManageProject::PullRequest": true,
"ManageProject::Member": true,
"ManageProject::SettingChanged": true,
+ "ManageProject::Praised": true,
+ "ManageProject::Forked": true,
+ "ManageProject::Milestone": true,
+ "ManageProject::MilestoneCompleted": true,
}.stringify_keys!
end
@@ -51,10 +56,15 @@ class UserTemplateMessageSetting < ApplicationRecord
"Normal::PullRequestAssigned": false,
"CreateOrAssign::IssueChanged": false,
"CreateOrAssign::PullRequestChanged": false,
+ "CreateOrAssign::IssueExpire": false,
"ManageProject::Issue": false,
"ManageProject::PullRequest": false,
"ManageProject::Member": false,
"ManageProject::SettingChanged": false,
+ "ManageProject::Praised": false,
+ "ManageProject::Forked": false,
+ "ManageProject::Milestone": false,
+ "ManageProject::MilestoneCompleted": false,
}.stringify_keys!
end
diff --git a/app/models/version.rb b/app/models/version.rb
index 77cb58a7e..41256833a 100644
--- a/app/models/version.rb
+++ b/app/models/version.rb
@@ -40,8 +40,19 @@ class Version < ApplicationRecord
# issues.select(:id,:status_id).where(status_id: 5).size
# end
+ after_create :send_create_message_to_notice_system
+ after_save :send_update_message_to_notice_system
+
def version_user
User.select(:login, :lastname,:firstname, :nickname)&.find_by_id(self.user_id)
end
+ private
+ def send_create_message_to_notice_system
+ SendTemplateMessageJob.perform_later('ProjectMilestone', self.id, self.user_id) if Site.has_notice_menu?
+ end
+
+ def send_update_message_to_notice_system
+ SendTemplateMessageJob.perform_later('ProjectMilestoneCompleted', self.id) if Site.has_notice_menu? && self.percent == 1.0
+ end
end
diff --git a/app/services/projects/fork_service.rb b/app/services/projects/fork_service.rb
index 84b80f50f..5ae26d6bb 100644
--- a/app/services/projects/fork_service.rb
+++ b/app/services/projects/fork_service.rb
@@ -35,6 +35,8 @@ class Projects::ForkService < ApplicationService
ForkUser.create(project_id: @project.id, fork_project_id: clone_project.id, user_id: clone_project.user_id)
clone_project
+
+ SendTemplateMessageJob.perform_later('ProjectForked', @target_owner.id, @project.id) if Site.has_notice_menu?
end
rescue => e
puts "clone project service error: #{e.message}"
diff --git a/app/views/admins/sites/_form.html.erb b/app/views/admins/sites/_form.html.erb
index 1776bcd03..6a879d9d3 100644
--- a/app/views/admins/sites/_form.html.erb
+++ b/app/views/admins/sites/_form.html.erb
@@ -29,7 +29,7 @@
类型:
- <%= p.select :site_type, options_for_select(Site.site_types.map { |key, value| [key.humanize, key] }), {}, class: "form-control" %>
+ <%= p.select :site_type, options_for_select(Site.site_types.map { |key, value| [key.humanize, key] }, @site.site_type), {}, class: "form-control" %>
diff --git a/public/message_template/issue_changed.html b/public/message_template/issue_changed.html
index 537a12dc1..db696a0cc 100755
--- a/public/message_template/issue_changed.html
+++ b/public/message_template/issue_changed.html
@@ -48,7 +48,7 @@
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
QQ群:1071514693
-
GitLink团队
+
{platform}团队
diff --git a/public/message_template/issue_deleted.html b/public/message_template/issue_deleted.html
index 4207144c8..335fdfbc0 100755
--- a/public/message_template/issue_deleted.html
+++ b/public/message_template/issue_deleted.html
@@ -38,7 +38,7 @@
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
QQ群:1071514693
-
GitLink团队
+
{platform}团队
diff --git a/public/message_template/issue_expire.html b/public/message_template/issue_expire.html
new file mode 100644
index 000000000..34701a0a3
--- /dev/null
+++ b/public/message_template/issue_expire.html
@@ -0,0 +1,47 @@
+
+
+ 疑修截止日期到达最后一天
+
+
+
+
+
+
+
+
+
确实开源,协同创新
+
+
+
+
+ {receiver},您好!
+ 疑修 {title} 已临近截止日期,请尽快处理
+
+
+
+
+
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
+ QQ群:1071514693
+
{platform}团队
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/message_template/organization_joined.html b/public/message_template/organization_joined.html
index e3848f473..7d50ebdb3 100755
--- a/public/message_template/organization_joined.html
+++ b/public/message_template/organization_joined.html
@@ -38,7 +38,7 @@
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
QQ群:1071514693
-
GitLink团队
+
{platform}团队
diff --git a/public/message_template/organization_left.html b/public/message_template/organization_left.html
index 32b1dc30e..b2eeffbbe 100755
--- a/public/message_template/organization_left.html
+++ b/public/message_template/organization_left.html
@@ -38,7 +38,7 @@
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
QQ群:1071514693
-
GitLink团队
+
{platform}团队
diff --git a/public/message_template/organization_role.html b/public/message_template/organization_role.html
index b411c7340..ad597dea6 100755
--- a/public/message_template/organization_role.html
+++ b/public/message_template/organization_role.html
@@ -38,7 +38,7 @@
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
QQ群:1071514693
-
GitLink团队
+
{platform}团队
diff --git a/public/message_template/project_issue.html b/public/message_template/project_issue.html
index 653bd7a3d..4b6812fce 100755
--- a/public/message_template/project_issue.html
+++ b/public/message_template/project_issue.html
@@ -38,7 +38,7 @@
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
QQ群:1071514693
-
GitLink团队
+
{platform}团队
diff --git a/public/message_template/project_joined.html b/public/message_template/project_joined.html
index dfafd5d92..fa8f0771b 100755
--- a/public/message_template/project_joined.html
+++ b/public/message_template/project_joined.html
@@ -38,7 +38,7 @@
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
QQ群:1071514693
-
GitLink团队
+
{platform}团队
diff --git a/public/message_template/project_left.html b/public/message_template/project_left.html
index 94a0e9862..81453d22d 100755
--- a/public/message_template/project_left.html
+++ b/public/message_template/project_left.html
@@ -38,7 +38,7 @@
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
QQ群:1071514693
-
GitLink团队
+
{platform}团队
diff --git a/public/message_template/project_member_joined.html b/public/message_template/project_member_joined.html
index d2fec456d..b22ced2d7 100755
--- a/public/message_template/project_member_joined.html
+++ b/public/message_template/project_member_joined.html
@@ -38,7 +38,7 @@
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
QQ群:1071514693
-
GitLink团队
+
{platform}团队
diff --git a/public/message_template/project_member_left.html b/public/message_template/project_member_left.html
index 8dfca4a2e..d1a8b044f 100755
--- a/public/message_template/project_member_left.html
+++ b/public/message_template/project_member_left.html
@@ -38,7 +38,7 @@
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
QQ群:1071514693
-
GitLink团队
+
{platform}团队
diff --git a/public/message_template/project_milestone.html b/public/message_template/project_milestone.html
new file mode 100644
index 000000000..0b2a0725c
--- /dev/null
+++ b/public/message_template/project_milestone.html
@@ -0,0 +1,47 @@
+
+
+ 管理的仓库有新的里程碑
+
+
+
+
+
+
+
+
+
确实开源,协同创新
+
+
+
+
+
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
+ QQ群:1071514693
+
{platform}团队
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/message_template/project_milestone_completed.html b/public/message_template/project_milestone_completed.html
new file mode 100644
index 000000000..6b62a8cb9
--- /dev/null
+++ b/public/message_template/project_milestone_completed.html
@@ -0,0 +1,47 @@
+
+
+ 管理的仓库有里程碑已完成
+
+
+
+
+
+
+
+
+
确实开源,协同创新
+
+
+
+
+
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
+ QQ群:1071514693
+
{platform}团队
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/message_template/project_pull_request.html b/public/message_template/project_pull_request.html
index 78aa5c2d4..fe389e98c 100755
--- a/public/message_template/project_pull_request.html
+++ b/public/message_template/project_pull_request.html
@@ -38,7 +38,7 @@
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
QQ群:1071514693
-
GitLink团队
+
{platform}团队
diff --git a/public/message_template/project_role.html b/public/message_template/project_role.html
index 17f53e37b..3e8e8b55c 100755
--- a/public/message_template/project_role.html
+++ b/public/message_template/project_role.html
@@ -38,7 +38,7 @@
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
QQ群:1071514693
-
GitLink团队
+
{platform}团队
diff --git a/public/message_template/project_setting_changed.html b/public/message_template/project_setting_changed.html
index 4d1f9762d..ecea17ef8 100755
--- a/public/message_template/project_setting_changed.html
+++ b/public/message_template/project_setting_changed.html
@@ -45,7 +45,7 @@
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
QQ群:1071514693
-
GitLink团队
+
{platform}团队
diff --git a/public/message_template/pull_request_assigned.html b/public/message_template/pull_request_assigned.html
index c12924d1b..1d1810613 100755
--- a/public/message_template/pull_request_assigned.html
+++ b/public/message_template/pull_request_assigned.html
@@ -38,7 +38,7 @@
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
QQ群:1071514693
-
GitLink团队
+
{platform}团队
diff --git a/public/message_template/pull_request_changed.html b/public/message_template/pull_request_changed.html
index ab9c3f6a1..ccbefad92 100755
--- a/public/message_template/pull_request_changed.html
+++ b/public/message_template/pull_request_changed.html
@@ -42,7 +42,7 @@
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
QQ群:1071514693
-
GitLink团队
+
{platform}团队
diff --git a/public/message_template/pull_request_closed.html b/public/message_template/pull_request_closed.html
index dca5e1c7d..c860a54a1 100755
--- a/public/message_template/pull_request_closed.html
+++ b/public/message_template/pull_request_closed.html
@@ -38,7 +38,7 @@
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
QQ群:1071514693
-
GitLink团队
+
{platform}团队
diff --git a/public/message_template/pull_request_merged.html b/public/message_template/pull_request_merged.html
index 8c6e3469c..59812ddd3 100755
--- a/public/message_template/pull_request_merged.html
+++ b/public/message_template/pull_request_merged.html
@@ -38,7 +38,7 @@
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
QQ群:1071514693
-
GitLink团队
+
{platform}团队
diff --git a/public/message_template/team_joined.html b/public/message_template/team_joined.html
index 231f8b795..36610f728 100755
--- a/public/message_template/team_joined.html
+++ b/public/message_template/team_joined.html
@@ -38,7 +38,7 @@
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
QQ群:1071514693
-
GitLink团队
+
{platform}团队
diff --git a/public/message_template/team_left.html b/public/message_template/team_left.html
index 1321e7b4d..ea2cce649 100755
--- a/public/message_template/team_left.html
+++ b/public/message_template/team_left.html
@@ -38,7 +38,7 @@
如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
QQ群:1071514693
-
GitLink团队
+
{platform}团队