Платформа ЦРНП "Мирокод" для разработки проектов
https://git.mirocod.ru
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.6 KiB
58 lines
1.6 KiB
// Copyright 2019 The Gitea Authors. All rights reserved. |
|
// Use of this source code is governed by a MIT-style |
|
// license that can be found in the LICENSE file. |
|
|
|
package mailer |
|
|
|
import ( |
|
"code.gitea.io/gitea/models" |
|
user_model "code.gitea.io/gitea/models/user" |
|
"code.gitea.io/gitea/modules/log" |
|
"code.gitea.io/gitea/modules/setting" |
|
) |
|
|
|
// MailParticipantsComment sends new comment emails to repository watchers and mentioned people. |
|
func MailParticipantsComment(c *models.Comment, opType models.ActionType, issue *models.Issue, mentions []*user_model.User) error { |
|
if setting.MailService == nil { |
|
// No mail service configured |
|
return nil |
|
} |
|
|
|
content := c.Content |
|
if c.Type == models.CommentTypePullPush { |
|
content = "" |
|
} |
|
if err := mailIssueCommentToParticipants( |
|
&mailCommentContext{ |
|
Issue: issue, |
|
Doer: c.Poster, |
|
ActionType: opType, |
|
Content: content, |
|
Comment: c, |
|
}, mentions); err != nil { |
|
log.Error("mailIssueCommentToParticipants: %v", err) |
|
} |
|
return nil |
|
} |
|
|
|
// MailMentionsComment sends email to users mentioned in a code comment |
|
func MailMentionsComment(pr *models.PullRequest, c *models.Comment, mentions []*user_model.User) (err error) { |
|
if setting.MailService == nil { |
|
// No mail service configured |
|
return nil |
|
} |
|
|
|
visited := make(map[int64]bool, len(mentions)+1) |
|
visited[c.Poster.ID] = true |
|
if err = mailIssueCommentBatch( |
|
&mailCommentContext{ |
|
Issue: pr.Issue, |
|
Doer: c.Poster, |
|
ActionType: models.ActionCommentPull, |
|
Content: c.Content, |
|
Comment: c, |
|
}, mentions, visited, true); err != nil { |
|
log.Error("mailIssueCommentBatch: %v", err) |
|
} |
|
return nil |
|
}
|
|
|