1
0
Fork 0
forked from forgejo/forgejo

Send notifications for mentions in pulls, issues, (code-)comments (#14218)

Fixes #14187: mention handling extracted from email notification code
Fixes #14013: add notification for mentions in pull request code comments
Fixes #13450: Not receiving any emails with setting "Only Email on Mention"
This commit is contained in:
Jimmy Praet 2021-01-02 18:04:02 +01:00 committed by GitHub
parent ac88b0ee83
commit e6acce649b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 205 additions and 88 deletions

View file

@ -57,7 +57,12 @@ func CreateCodeComment(doer *models.User, gitRepo *git.Repository, issue *models
return nil, err
}
notification.NotifyCreateIssueComment(doer, issue.Repo, issue, comment)
mentions, err := issue.FindAndUpdateIssueMentions(models.DefaultDBContext(), doer, comment.Content)
if err != nil {
return nil, err
}
notification.NotifyCreateIssueComment(doer, issue.Repo, issue, comment, mentions)
return comment, nil
}
@ -226,7 +231,25 @@ func SubmitReview(doer *models.User, gitRepo *git.Repository, issue *models.Issu
return nil, nil, err
}
notification.NotifyPullRequestReview(pr, review, comm)
ctx := models.DefaultDBContext()
mentions, err := issue.FindAndUpdateIssueMentions(ctx, doer, comm.Content)
if err != nil {
return nil, nil, err
}
notification.NotifyPullRequestReview(pr, review, comm, mentions)
for _, lines := range review.CodeComments {
for _, comments := range lines {
for _, codeComment := range comments {
mentions, err := issue.FindAndUpdateIssueMentions(ctx, doer, codeComment.Content)
if err != nil {
return nil, nil, err
}
notification.NotifyPullRequestCodeComment(pr, codeComment, mentions)
}
}
}
return review, comm, nil
}