// MailParticipants sends new issue thread created emails to repository watchers // and mentioned people. func (issue *Issue) MailParticipants() (err error) { mentions := markdown.FindAllMentions(issue.Content) if err = UpdateIssueMentions(issue.ID, mentions); err != nil { return fmt.Errorf("UpdateIssueMentions [%d]: %v", issue.ID, err) } if err = mailIssueCommentToParticipants(issue, issue.Poster, mentions); err != nil { log.Error(4, "mailIssueCommentToParticipants: %v", err) } return nil }
// MailParticipants sends new comment emails to repository watchers // and mentioned people. func (cmt *Comment) MailParticipants(opType ActionType, issue *Issue) (err error) { mentions := markdown.FindAllMentions(cmt.Content) if err = UpdateIssueMentions(cmt.IssueID, mentions); err != nil { return fmt.Errorf("UpdateIssueMentions [%d]: %v", cmt.IssueID, err) } switch opType { case ACTION_COMMENT_ISSUE: issue.Content = cmt.Content case ACTION_CLOSE_ISSUE: issue.Content = fmt.Sprintf("Closed #%d", issue.Index) case ACTION_REOPEN_ISSUE: issue.Content = fmt.Sprintf("Reopened #%d", issue.Index) } if err = mailIssueCommentToParticipants(issue, cmt.Poster, mentions); err != nil { log.Error(4, "mailIssueCommentToParticipants: %v", err) } return nil }