mirror of
https://github.com/go-gitea/gitea.git
synced 2026-08-30 00:20:52 +00:00
chore: fix repo watch (#38921)
This commit is contained in:
@@ -74,13 +74,13 @@ func notifyWatchers(ctx context.Context, act *activities_model.Action, watchers
|
||||
case activities_model.ActionCommitRepo, activities_model.ActionPushTag, activities_model.ActionDeleteTag, activities_model.ActionDeleteBranch:
|
||||
allowed = permCode[i] && watcher.IsWatchingAll()
|
||||
case activities_model.ActionPublishRelease:
|
||||
allowed = permCode[i] && watcher.Releases
|
||||
allowed = permCode[i] && watcher.IncludeReleases
|
||||
case activities_model.ActionCreateIssue, activities_model.ActionCommentIssue, activities_model.ActionCloseIssue, activities_model.ActionReopenIssue:
|
||||
allowed = permIssue[i] && watcher.Issues
|
||||
allowed = permIssue[i] && watcher.IncludeIssues
|
||||
case activities_model.ActionCreatePullRequest, activities_model.ActionCommentPull, activities_model.ActionMergePullRequest, activities_model.ActionClosePullRequest,
|
||||
activities_model.ActionReopenPullRequest, activities_model.ActionAutoMergePullRequest, activities_model.ActionApprovePullRequest,
|
||||
activities_model.ActionRejectPullRequest, activities_model.ActionPullReviewDismissed, activities_model.ActionPullRequestReadyForReview:
|
||||
allowed = permPR[i] && watcher.PullRequests
|
||||
allowed = permPR[i] && watcher.IncludePullRequests
|
||||
default:
|
||||
allowed = watcher.IsWatchingAll() // repository events have no watch option of their own
|
||||
}
|
||||
|
||||
@@ -205,7 +205,9 @@ func TestNotifyWatchersRespectsWatchOptions(t *testing.T) {
|
||||
assert.NoError(t, unittest.PrepareTestDatabase())
|
||||
|
||||
// user 1 watches repo 1 for issues only, user 4 keeps every event
|
||||
assert.NoError(t, repo_model.SetWatchOptions(t.Context(), 1, 1, repo_model.WatchOptions{Issues: true}))
|
||||
user1 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
|
||||
repo1 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1})
|
||||
assert.NoError(t, repo_model.WatchRepoWithOptions(t.Context(), user1, repo1, repo_model.WatchOptions{Mode: repo_model.WatchModeNormal, WatchIssues: true}))
|
||||
|
||||
assert.NoError(t, NotifyWatchers(t.Context(),
|
||||
&activities_model.Action{ActUserID: 8, RepoID: 1, OpType: activities_model.ActionCreateIssue},
|
||||
|
||||
Reference in New Issue
Block a user