diff options
author | Lauris BH <lauris@nix.lv> | 2017-11-03 11:23:17 +0200 |
---|---|---|
committer | Lunny Xiao <xiaolunwen@gmail.com> | 2017-11-03 17:23:17 +0800 |
commit | 240609432b84a8caa5ec4c99a916277952ef02d5 (patch) | |
tree | 4ceb81292f531bcdca34389079b8a711643cd4c6 /models | |
parent | 8798cf4e3ba30bc0bdea073bf273ac27b71b78ce (diff) | |
download | gitea-240609432b84a8caa5ec4c99a916277952ef02d5.tar.gz gitea-240609432b84a8caa5ec4c99a916277952ef02d5.zip |
Issue content should not be updated when closing with comment (#2833)
Diffstat (limited to 'models')
-rw-r--r-- | models/issue_comment.go | 10 | ||||
-rw-r--r-- | models/issue_mail.go | 8 | ||||
-rw-r--r-- | models/mail.go | 18 |
3 files changed, 18 insertions, 18 deletions
diff --git a/models/issue_comment.go b/models/issue_comment.go index f2acd5354f..34c0ecdce5 100644 --- a/models/issue_comment.go +++ b/models/issue_comment.go @@ -272,15 +272,15 @@ func (c *Comment) MailParticipants(e Engine, opType ActionType, issue *Issue) (e return fmt.Errorf("UpdateIssueMentions [%d]: %v", c.IssueID, err) } + content := c.Content + switch opType { - case ActionCommentIssue: - issue.Content = c.Content case ActionCloseIssue: - issue.Content = fmt.Sprintf("Closed #%d", issue.Index) + content = fmt.Sprintf("Closed #%d", issue.Index) case ActionReopenIssue: - issue.Content = fmt.Sprintf("Reopened #%d", issue.Index) + content = fmt.Sprintf("Reopened #%d", issue.Index) } - if err = mailIssueCommentToParticipants(e, issue, c.Poster, c, mentions); err != nil { + if err = mailIssueCommentToParticipants(e, issue, c.Poster, content, c, mentions); err != nil { log.Error(4, "mailIssueCommentToParticipants: %v", err) } diff --git a/models/issue_mail.go b/models/issue_mail.go index e4a1a40e6d..08e4eed584 100644 --- a/models/issue_mail.go +++ b/models/issue_mail.go @@ -22,7 +22,7 @@ func (issue *Issue) mailSubject() string { // This function sends two list of emails: // 1. Repository watchers and users who are participated in comments. // 2. Users who are not in 1. but get mentioned in current issue/comment. -func mailIssueCommentToParticipants(e Engine, issue *Issue, doer *User, comment *Comment, mentions []string) error { +func mailIssueCommentToParticipants(e Engine, issue *Issue, doer *User, content string, comment *Comment, mentions []string) error { if !setting.Service.EnableNotifyMail { return nil } @@ -80,7 +80,7 @@ func mailIssueCommentToParticipants(e Engine, issue *Issue, doer *User, comment names = append(names, participants[i].Name) } - SendIssueCommentMail(issue, doer, comment, tos) + SendIssueCommentMail(issue, doer, content, comment, tos) // Mail mentioned people and exclude watchers. names = append(names, doer.Name) @@ -92,7 +92,7 @@ func mailIssueCommentToParticipants(e Engine, issue *Issue, doer *User, comment tos = append(tos, mentions[i]) } - SendIssueMentionMail(issue, doer, comment, getUserEmailsByNames(e, tos)) + SendIssueMentionMail(issue, doer, content, comment, getUserEmailsByNames(e, tos)) return nil } @@ -109,7 +109,7 @@ func (issue *Issue) mailParticipants(e Engine) (err error) { return fmt.Errorf("UpdateIssueMentions [%d]: %v", issue.ID, err) } - if err = mailIssueCommentToParticipants(e, issue, issue.Poster, nil, mentions); err != nil { + if err = mailIssueCommentToParticipants(e, issue, issue.Poster, issue.Content, nil, mentions); err != nil { log.Error(4, "mailIssueCommentToParticipants: %v", err) } diff --git a/models/mail.go b/models/mail.go index 98766f69f2..6b69e7b2ad 100644 --- a/models/mail.go +++ b/models/mail.go @@ -149,9 +149,9 @@ func composeTplData(subject, body, link string) map[string]interface{} { return data } -func composeIssueCommentMessage(issue *Issue, doer *User, comment *Comment, tplName base.TplName, tos []string, info string) *mailer.Message { +func composeIssueCommentMessage(issue *Issue, doer *User, content string, comment *Comment, tplName base.TplName, tos []string, info string) *mailer.Message { subject := issue.mailSubject() - body := string(markup.RenderByType(markdown.MarkupName, []byte(issue.Content), issue.Repo.HTMLURL(), issue.Repo.ComposeMetas())) + body := string(markup.RenderByType(markdown.MarkupName, []byte(content), issue.Repo.HTMLURL(), issue.Repo.ComposeMetas())) data := make(map[string]interface{}, 10) if comment != nil { @@ -161,30 +161,30 @@ func composeIssueCommentMessage(issue *Issue, doer *User, comment *Comment, tplN } data["Doer"] = doer - var content bytes.Buffer + var mailBody bytes.Buffer - if err := templates.ExecuteTemplate(&content, string(tplName), data); err != nil { + if err := templates.ExecuteTemplate(&mailBody, string(tplName), data); err != nil { log.Error(3, "Template: %v", err) } - msg := mailer.NewMessageFrom(tos, doer.DisplayName(), setting.MailService.FromEmail, subject, content.String()) + msg := mailer.NewMessageFrom(tos, doer.DisplayName(), setting.MailService.FromEmail, subject, mailBody.String()) msg.Info = fmt.Sprintf("Subject: %s, %s", subject, info) return msg } // SendIssueCommentMail composes and sends issue comment emails to target receivers. -func SendIssueCommentMail(issue *Issue, doer *User, comment *Comment, tos []string) { +func SendIssueCommentMail(issue *Issue, doer *User, content string, comment *Comment, tos []string) { if len(tos) == 0 { return } - mailer.SendAsync(composeIssueCommentMessage(issue, doer, comment, mailIssueComment, tos, "issue comment")) + mailer.SendAsync(composeIssueCommentMessage(issue, doer, content, comment, mailIssueComment, tos, "issue comment")) } // SendIssueMentionMail composes and sends issue mention emails to target receivers. -func SendIssueMentionMail(issue *Issue, doer *User, comment *Comment, tos []string) { +func SendIssueMentionMail(issue *Issue, doer *User, content string, comment *Comment, tos []string) { if len(tos) == 0 { return } - mailer.SendAsync(composeIssueCommentMessage(issue, doer, comment, mailIssueMention, tos, "issue mention")) + mailer.SendAsync(composeIssueCommentMessage(issue, doer, content, comment, mailIssueMention, tos, "issue mention")) } |