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:
parent
ac88b0ee83
commit
e6acce649b
15 changed files with 205 additions and 88 deletions
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue