From 8007602b4065441ef5120095b38d9a402f5ec82f Mon Sep 17 00:00:00 2001 From: Jimmy Praet Date: Mon, 31 May 2021 08:17:34 +0200 Subject: [PATCH] Don't manipulate input params in email notification (#16011) (#16033) Backport #16011 --- modules/notification/mail/mail.go | 3 --- services/mailer/mail_comment.go | 6 +++++- services/mailer/mail_issue.go | 8 +++++++- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/modules/notification/mail/mail.go b/modules/notification/mail/mail.go index f7192f5a5..ad7048072 100644 --- a/modules/notification/mail/mail.go +++ b/modules/notification/mail/mail.go @@ -54,7 +54,6 @@ func (m *mailNotifier) NotifyNewIssue(issue *models.Issue, mentions []*models.Us func (m *mailNotifier) NotifyIssueChangeStatus(doer *models.User, issue *models.Issue, actionComment *models.Comment, isClosed bool) { var actionType models.ActionType - issue.Content = "" if issue.IsPull { if isClosed { actionType = models.ActionClosePullRequest @@ -120,7 +119,6 @@ func (m *mailNotifier) NotifyMergePullRequest(pr *models.PullRequest, doer *mode log.Error("pr.LoadIssue: %v", err) return } - pr.Issue.Content = "" if err := mailer.MailParticipants(pr.Issue, doer, models.ActionMergePullRequest, nil); err != nil { log.Error("MailParticipants: %v", err) } @@ -147,7 +145,6 @@ func (m *mailNotifier) NotifyPullRequestPushCommits(doer *models.User, pr *model if err := comment.LoadPushCommits(); err != nil { log.Error("comment.LoadPushCommits: %v", err) } - comment.Content = "" m.NotifyCreateIssueComment(doer, comment.Issue.Repo, comment.Issue, comment, nil) } diff --git a/services/mailer/mail_comment.go b/services/mailer/mail_comment.go index 2f166720d..64c41845b 100644 --- a/services/mailer/mail_comment.go +++ b/services/mailer/mail_comment.go @@ -20,12 +20,16 @@ func mailParticipantsComment(c *models.Comment, opType models.ActionType, issue for i, u := range mentions { mentionedIDs[i] = u.ID } + content := c.Content + if c.Type == models.CommentTypePullPush { + content = "" + } if err = mailIssueCommentToParticipants( &mailCommentContext{ Issue: issue, Doer: c.Poster, ActionType: opType, - Content: c.Content, + Content: content, Comment: c, }, mentionedIDs); err != nil { log.Error("mailIssueCommentToParticipants: %v", err) diff --git a/services/mailer/mail_issue.go b/services/mailer/mail_issue.go index b600060a6..8263eb141 100644 --- a/services/mailer/mail_issue.go +++ b/services/mailer/mail_issue.go @@ -158,12 +158,18 @@ func mailParticipants(issue *models.Issue, doer *models.User, opType models.Acti for i, u := range mentions { mentionedIDs[i] = u.ID } + content := issue.Content + if opType == models.ActionCloseIssue || opType == models.ActionClosePullRequest || + opType == models.ActionReopenIssue || opType == models.ActionReopenPullRequest || + opType == models.ActionMergePullRequest { + content = "" + } if err = mailIssueCommentToParticipants( &mailCommentContext{ Issue: issue, Doer: doer, ActionType: opType, - Content: issue.Content, + Content: content, Comment: nil, }, mentionedIDs); err != nil { log.Error("mailIssueCommentToParticipants: %v", err)