summaryrefslogtreecommitdiffstats
path: root/services/mailer
diff options
context:
space:
mode:
Diffstat (limited to 'services/mailer')
-rw-r--r--services/mailer/mail_comment.go13
-rw-r--r--services/mailer/mail_issue.go13
2 files changed, 20 insertions, 6 deletions
diff --git a/services/mailer/mail_comment.go b/services/mailer/mail_comment.go
index cb477f887b..f64db04fff 100644
--- a/services/mailer/mail_comment.go
+++ b/services/mailer/mail_comment.go
@@ -19,11 +19,18 @@ func MailParticipantsComment(c *models.Comment, opType models.ActionType, issue
}
func mailParticipantsComment(ctx models.DBContext, c *models.Comment, opType models.ActionType, issue *models.Issue) (err error) {
- mentions := markup.FindAllMentions(c.Content)
- if err = models.UpdateIssueMentions(ctx, c.IssueID, mentions); err != nil {
+ rawMentions := markup.FindAllMentions(c.Content)
+ userMentions, err := issue.ResolveMentionsByVisibility(ctx, c.Poster, rawMentions)
+ if err != nil {
+ return fmt.Errorf("ResolveMentionsByVisibility [%d]: %v", c.IssueID, err)
+ }
+ if err = models.UpdateIssueMentions(ctx, c.IssueID, userMentions); err != nil {
return fmt.Errorf("UpdateIssueMentions [%d]: %v", c.IssueID, err)
}
-
+ mentions := make([]string, len(userMentions))
+ for i, u := range userMentions {
+ mentions[i] = u.LowerName
+ }
if len(c.Content) > 0 {
if err = mailIssueCommentToParticipants(issue, c.Poster, c.Content, c, mentions); err != nil {
log.Error("mailIssueCommentToParticipants: %v", err)
diff --git a/services/mailer/mail_issue.go b/services/mailer/mail_issue.go
index 92d2c5a879..da0249d595 100644
--- a/services/mailer/mail_issue.go
+++ b/services/mailer/mail_issue.go
@@ -123,11 +123,18 @@ func MailParticipants(issue *models.Issue, doer *models.User, opType models.Acti
}
func mailParticipants(ctx models.DBContext, issue *models.Issue, doer *models.User, opType models.ActionType) (err error) {
- mentions := markup.FindAllMentions(issue.Content)
-
- if err = models.UpdateIssueMentions(ctx, issue.ID, mentions); err != nil {
+ rawMentions := markup.FindAllMentions(issue.Content)
+ userMentions, err := issue.ResolveMentionsByVisibility(ctx, doer, rawMentions)
+ if err != nil {
+ return fmt.Errorf("ResolveMentionsByVisibility [%d]: %v", issue.ID, err)
+ }
+ if err = models.UpdateIssueMentions(ctx, issue.ID, userMentions); err != nil {
return fmt.Errorf("UpdateIssueMentions [%d]: %v", issue.ID, err)
}
+ mentions := make([]string, len(userMentions))
+ for i, u := range userMentions {
+ mentions[i] = u.LowerName
+ }
if len(issue.Content) > 0 {
if err = mailIssueCommentToParticipants(issue, doer, issue.Content, nil, mentions); err != nil {