From 959c1e8d95a8982d998cd922fa73ed7c1d22fe1f Mon Sep 17 00:00:00 2001 From: yystopf Date: Mon, 14 Feb 2022 13:55:34 +0800 Subject: [PATCH 1/9] add: user profile setting message --- .../users/template_message_settings_controller.rb | 2 ++ .../{issue_creator_expire.rb => issue_expire.rb} | 6 +++--- .../template_message_setting/create_or_assign.rb | 1 + app/models/template_message_setting/manage_project.rb | 4 ++++ app/models/user_template_message_setting.rb | 10 ++++++++++ 5 files changed, 20 insertions(+), 3 deletions(-) rename app/models/message_template/{issue_creator_expire.rb => issue_expire.rb} (80%) diff --git a/app/controllers/users/template_message_settings_controller.rb b/app/controllers/users/template_message_settings_controller.rb index 2234e7301..5421a29d5 100644 --- a/app/controllers/users/template_message_settings_controller.rb +++ b/app/controllers/users/template_message_settings_controller.rb @@ -22,6 +22,8 @@ class Users::TemplateMessageSettingsController < Users::BaseController def get_current_setting @current_setting = @_observed_user.user_template_message_setting + @current_setting.notification_body.merge!(UserTemplateMessageSetting.init_notification_body.except(*@current_setting.notification_body.keys)) + @current_setting.email_body.merge!(UserTemplateMessageSetting.init_email_body.except(*@current_setting.email_body.keys)) @current_setting = UserTemplateMessageSetting.build(@_observed_user.id) if @current_setting.nil? end diff --git a/app/models/message_template/issue_creator_expire.rb b/app/models/message_template/issue_expire.rb similarity index 80% rename from app/models/message_template/issue_creator_expire.rb rename to app/models/message_template/issue_expire.rb index 475c05ce0..882504dc2 100644 --- a/app/models/message_template/issue_creator_expire.rb +++ b/app/models/message_template/issue_expire.rb @@ -12,8 +12,8 @@ # email_title :string(255) # -# 我创建的疑修截止日期到达最后一天 -class MessageTemplate::IssueCreatorExpire < MessageTemplate +# 我创建或负责的疑修截止日期到达最后一天 +class MessageTemplate::IssueExpire < MessageTemplate # MessageTemplate::IssueCreatorExpire.get_message_content(User.where(login: 'yystopf'), Issue.last) def self.get_message_content(receivers, issue) @@ -23,7 +23,7 @@ class MessageTemplate::IssueCreatorExpire < MessageTemplate 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}") + Rails.logger.info("MessageTemplate::IssueExpire.get_message_content [ERROR] #{e}") return '', '', '' end end 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 From 8720cab1e9a757cc6ee80c1310f60b3c1d1436db Mon Sep 17 00:00:00 2001 From: xiaoxiaoqiong Date: Mon, 14 Feb 2022 16:53:29 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E9=80=9A=E8=BF=87=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E7=A1=AE=E5=AE=9Agithub=E5=85=8B=E9=9A=86=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/projects_controller.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 48e9a4329..c31136f84 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -59,7 +59,7 @@ class ProjectsController < ApplicationController Projects::MigrateForm.new(mirror_params).validate! @project = - if enable_accelerator?(mirror_params[:clone_addr]) + if EduSetting.get("mirror_address").to_s.include?("github") && enable_accelerator?(mirror_params[:clone_addr]) source_clone_url = mirror_params[:clone_addr] uid_logger("########## 已动加速器 ##########") result = Gitea::Accelerator::MigrateService.call(mirror_params) @@ -71,11 +71,11 @@ class ProjectsController < ApplicationController else Projects::MigrateService.call(current_user, mirror_params) end - # if mirror_params[:clone_addr].include?("github.com") - # source_clone_url = mirror_params[:clone_addr] - # clone_url = source_clone_url.gsub('github.com', 'github.com.cnpmjs.org') - # uid_logger("########## 更改clone_addr ##########") - # Projects::MigrateService.call(current_user, mirror_params.merge(source_clone_url: source_clone_url, clone_addr: clone_url)) + elsif EduSetting.get("mirror_address").to_s.include?("cnpmjs") && mirror_params[:clone_addr].include?("github.com") + source_clone_url = mirror_params[:clone_addr] + clone_url = source_clone_url.gsub('github.com', 'github.com.cnpmjs.org') + uid_logger("########## 更改clone_addr ##########") + Projects::MigrateService.call(current_user, mirror_params.merge(source_clone_url: source_clone_url, clone_addr: clone_url)) else Projects::MigrateService.call(current_user, mirror_params) end From 22293572acea213c4e36f3b3758c175650b9e6b1 Mon Sep 17 00:00:00 2001 From: yystopf Date: Mon, 14 Feb 2022 17:02:59 +0800 Subject: [PATCH 3/9] fix: issue changed about version callback --- app/controllers/issues_controller.rb | 3 ++- app/models/issue.rb | 22 ++++++++++++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index 5590d9e87..ad53a4b3f 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -180,6 +180,7 @@ class IssuesController < ApplicationController elsif params[:issue_tag_ids].is_a?(Array) && params[:issue_tag_ids].size == 1 @issue&.issue_tags_relates&.destroy_all params[:issue_tag_ids].each do |tag| + next if tag == [""] IssueTagsRelate.create!(issue_id: @issue.id, issue_tag_id: tag) end else @@ -246,7 +247,7 @@ class IssuesController < ApplicationController end if params[:status_id].to_i == 5 #任务由非关闭状态到关闭状态时 @issue.issue_times.update_all(end_time: Time.now) - @issue.update_closed_issues_count_in_project! + # @issue.update_closed_issues_count_in_project! if @issue.issue_type.to_s == "2" && last_status_id != 5 if @issue.assigned_to_id.present? && last_status_id == 3 #只有当用户完成100%时,才给token post_to_chain("add", @issue.token, @issue.get_assign_user.try(:login)) diff --git a/app/models/issue.rb b/app/models/issue.rb index cecc4678c..c00f4e767 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -75,7 +75,7 @@ class Issue < ApplicationRecord scope :issue_index_includes, ->{includes(:tracker, :priority, :version, :issue_status, :journals,:issue_tags,user: :user_extension)} scope :closed, ->{where(status_id: 5)} after_create :incre_project_common, :incre_user_statistic, :incre_platform_statistic - after_update :change_versions_count + after_save :change_versions_count after_destroy :update_closed_issues_count_in_project!, :decre_project_common, :decre_user_statistic, :decre_platform_statistic def incre_project_common @@ -170,11 +170,25 @@ class Issue < ApplicationRecord end def change_versions_count - if self.version.present? && self.saved_change_to_status_id? + if self.saved_change_to_fixed_version_id? + before_version = Version.find_by_id(self.fixed_version_id_before_last_save) + Rails.logger.info self.fixed_version_id_before_last_save + if before_version.present? + Rails.logger.info self.status_id + Rails.logger.info self.status_id_before_last_save + # 更改前状态为完成 或者 更改前后都为完成状态 + if self.status_id_before_last_save == 5 + percent = before_version.issues_count == 0 ? 0.0 : ((before_version.closed_issues_count - 1).to_f / before_version.issues_count) + before_version.update_attributes(closed_issues_count: (before_version.closed_issues_count - 1), percent: percent) + end + end + end + + if self.version.present? && (self.saved_change_to_status_id? || self.saved_change_to_fixed_version_id?) if self.status_id == 5 percent = self.version.issues_count == 0 ? 0.0 : ((self.version.closed_issues_count + 1).to_f / self.version.issues_count) self.version.update_attributes(closed_issues_count: (self.version.closed_issues_count + 1), percent: percent) - elsif self.status_id_before_last_save == 5 + elsif self.status_id_before_last_save == 5 && !self.saved_change_to_fixed_version_id? percent = self.version.issues_count == 0 ? 0.0 : ((self.version.closed_issues_count - 1).to_f / self.version.issues_count) self.version.update_attributes(closed_issues_count: (self.version.closed_issues_count - 1), percent: percent) end @@ -182,7 +196,7 @@ class Issue < ApplicationRecord end def update_closed_issues_count_in_project! - self.project.decrement!(:closed_issues_count) + self.project.decrement!(:closed_issues_count) if self.status_id == 5 end end From 2f170a54c6b6fa6676d06448ed336e0703d87b36 Mon Sep 17 00:00:00 2001 From: xiaoxiaoqiong Date: Tue, 15 Feb 2022 17:10:57 +0800 Subject: [PATCH 4/9] =?UTF-8?q?fixed=20setting=E7=BC=96=E8=BE=91=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E4=B8=8B=E6=8B=89=E9=80=89=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/admins/sites/_form.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index 641742bb0..34701a0a3 100644 --- a/public/message_template/issue_expire.html +++ b/public/message_template/issue_expire.html @@ -38,7 +38,7 @@

如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
QQ群:1071514693

-

GitLink团队

+

{platform}团队

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 index 6f1a4b112..0b2a0725c 100644 --- a/public/message_template/project_milestone.html +++ b/public/message_template/project_milestone.html @@ -38,7 +38,7 @@

如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
QQ群:1071514693

-

GitLink团队

+

{platform}团队

diff --git a/public/message_template/project_milestone_completed.html b/public/message_template/project_milestone_completed.html index 89960e3c9..6b62a8cb9 100644 --- a/public/message_template/project_milestone_completed.html +++ b/public/message_template/project_milestone_completed.html @@ -38,7 +38,7 @@

如果您在使用中有任何的疑问和建议,欢迎您给我们反馈意见
QQ群:1071514693

-

GitLink团队

+

{platform}团队

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}团队

From 84b56bfcb8b7ee68d15a1805f48469ba6bf2c895 Mon Sep 17 00:00:00 2001 From: yystopf Date: Wed, 16 Feb 2022 09:34:31 +0800 Subject: [PATCH 9/9] fix: project milestone create notice template --- app/models/message_template/project_milestone.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/models/message_template/project_milestone.rb b/app/models/message_template/project_milestone.rb index 7f1f94d94..8c9c47d16 100644 --- a/app/models/message_template/project_milestone.rb +++ b/app/models/message_template/project_milestone.rb @@ -47,11 +47,10 @@ class MessageTemplate::ProjectMilestone < MessageTemplate content = email content.gsub!('{receiver}', receiver&.real_name) content.gsub!('{baseurl}', base_url) - content.gsub!('{login1}', operator&.login) content.gsub!('{nickname1}', operator&.real_name) content.gsub!('{nickname2}', owner&.real_name) content.gsub!('{repository}', project&.name) - content.gsub!('{login2}', owner&.login) + content.gsub!('{login}', owner&.login) content.gsub!('{identifier}', project&.identifier) content.gsub!('{id}', milestone&.id.to_s) content.gsub!('{name}', milestone&.name)