fix(web): forbid blocked users from reopening issues (#7010)
Closes https://codeberg.org/forgejo/forgejo/issues/6841. Signed-off-by: Litchi Pi <litchi.pi@proton.me> Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7010 Reviewed-by: Gusted <gusted@noreply.codeberg.org> Reviewed-by: 0ko <0ko@noreply.codeberg.org> Co-authored-by: Litchi Pi <litchi.pi@proton.me> Co-committed-by: Litchi Pi <litchi.pi@proton.me>
This commit is contained in:
parent
ac08fc5b40
commit
9dd47d932f
6 changed files with 69 additions and 4 deletions
|
@ -8,6 +8,7 @@ import (
|
|||
|
||||
model "code.gitea.io/gitea/models"
|
||||
"code.gitea.io/gitea/models/db"
|
||||
issues_model "code.gitea.io/gitea/models/issues"
|
||||
repo_model "code.gitea.io/gitea/models/repo"
|
||||
"code.gitea.io/gitea/models/unittest"
|
||||
user_model "code.gitea.io/gitea/models/user"
|
||||
|
@ -89,4 +90,24 @@ func TestBlockUser(t *testing.T) {
|
|||
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 3, OwnerID: blockedUser.ID})
|
||||
assert.Equal(t, repo_model.RepositoryReady, repo.Status)
|
||||
})
|
||||
|
||||
t.Run("Issues", func(t *testing.T) {
|
||||
doer := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2})
|
||||
blockedUser := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 4})
|
||||
defer user_model.UnblockUser(db.DefaultContext, doer.ID, blockedUser.ID)
|
||||
|
||||
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 2, OwnerID: doer.ID})
|
||||
issue := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 4, RepoID: repo.ID}, "is_closed = true")
|
||||
|
||||
_, err := issues_model.ChangeIssueStatus(db.DefaultContext, issue, blockedUser, false)
|
||||
require.NoError(t, err)
|
||||
|
||||
_, err = issues_model.ChangeIssueStatus(db.DefaultContext, issue, doer, true)
|
||||
require.NoError(t, err)
|
||||
|
||||
require.NoError(t, BlockUser(db.DefaultContext, doer.ID, blockedUser.ID))
|
||||
|
||||
_, err = issues_model.ChangeIssueStatus(db.DefaultContext, issue, blockedUser, false)
|
||||
require.Error(t, err)
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue