aboutsummaryrefslogtreecommitdiffstats
path: root/modules/notification/notification.go
diff options
context:
space:
mode:
authorJimmy Praet <jimmy.praet@telenet.be>2021-01-02 18:04:02 +0100
committerGitHub <noreply@github.com>2021-01-02 18:04:02 +0100
commite6acce649b348cc497b999100a170866a90c87b8 (patch)
tree2a1bb838fe8b36f016c638190651e61e6b27acd3 /modules/notification/notification.go
parentac88b0ee839bfbfae5759e211d0f9a69abe4d8f7 (diff)
downloadgitea-e6acce649b348cc497b999100a170866a90c87b8.tar.gz
gitea-e6acce649b348cc497b999100a170866a90c87b8.zip
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"
Diffstat (limited to 'modules/notification/notification.go')
-rw-r--r--modules/notification/notification.go23
1 files changed, 15 insertions, 8 deletions
diff --git a/modules/notification/notification.go b/modules/notification/notification.go
index 21f9dc87a8..7ced57ce2d 100644
--- a/modules/notification/notification.go
+++ b/modules/notification/notification.go
@@ -39,16 +39,16 @@ func NewContext() {
// NotifyCreateIssueComment notifies issue comment related message to notifiers
func NotifyCreateIssueComment(doer *models.User, repo *models.Repository,
- issue *models.Issue, comment *models.Comment) {
+ issue *models.Issue, comment *models.Comment, mentions []*models.User) {
for _, notifier := range notifiers {
- notifier.NotifyCreateIssueComment(doer, repo, issue, comment)
+ notifier.NotifyCreateIssueComment(doer, repo, issue, comment, mentions)
}
}
// NotifyNewIssue notifies new issue to notifiers
-func NotifyNewIssue(issue *models.Issue) {
+func NotifyNewIssue(issue *models.Issue, mentions []*models.User) {
for _, notifier := range notifiers {
- notifier.NotifyNewIssue(issue)
+ notifier.NotifyNewIssue(issue, mentions)
}
}
@@ -67,9 +67,9 @@ func NotifyMergePullRequest(pr *models.PullRequest, doer *models.User) {
}
// NotifyNewPullRequest notifies new pull request to notifiers
-func NotifyNewPullRequest(pr *models.PullRequest) {
+func NotifyNewPullRequest(pr *models.PullRequest, mentions []*models.User) {
for _, notifier := range notifiers {
- notifier.NotifyNewPullRequest(pr)
+ notifier.NotifyNewPullRequest(pr, mentions)
}
}
@@ -81,9 +81,16 @@ func NotifyPullRequestSynchronized(doer *models.User, pr *models.PullRequest) {
}
// NotifyPullRequestReview notifies new pull request review
-func NotifyPullRequestReview(pr *models.PullRequest, review *models.Review, comment *models.Comment) {
+func NotifyPullRequestReview(pr *models.PullRequest, review *models.Review, comment *models.Comment, mentions []*models.User) {
for _, notifier := range notifiers {
- notifier.NotifyPullRequestReview(pr, review, comment)
+ notifier.NotifyPullRequestReview(pr, review, comment, mentions)
+ }
+}
+
+// NotifyPullRequestCodeComment notifies new pull request code comment
+func NotifyPullRequestCodeComment(pr *models.PullRequest, comment *models.Comment, mentions []*models.User) {
+ for _, notifier := range notifiers {
+ notifier.NotifyPullRequestCodeComment(pr, comment, mentions)
}
}