Clarify permission "HasAccess" behavior (#30585)

Follow #30495

"HasAccess" behavior wasn't clear, to make it clear:

* Use a new name `HasAnyUnitAccess`, it will be easier to review related
code and permission problems.
* Separate everyone access mode to a separate field, then all calls to
HasAccess are reverted to old behavior before #30495.
* Add new tests.

---------

Co-authored-by: Giteabot <teabot@gitea.io>
This commit is contained in:
wxiaoguang 2024-04-20 11:15:04 +08:00 committed by GitHub
parent 89e39872ff
commit 48d4580dd5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 96 additions and 41 deletions

View file

@ -374,8 +374,7 @@ func repoAssignment(ctx *Context, repo *repo_model.Repository) {
return
}
// Check access.
if !ctx.Repo.Permission.HasAccess() {
if !ctx.Repo.Permission.HasAnyUnitAccessOrEveryoneAccess() {
if ctx.FormString("go-get") == "1" {
EarlyResponseForGoGetMeta(ctx)
return