mirror of
https://github.com/go-gitea/gitea.git
synced 2026-04-06 03:09:18 +02:00
update GetUserRepoPermission
ensure we check the parent group's unit permissions as well
This commit is contained in:
parent
83d982cc38
commit
aae627e4e8
@ -483,7 +483,7 @@ func GetIndividualUserRepoPermission(ctx context.Context, repo *repo_model.Repos
|
||||
return perm, nil
|
||||
}
|
||||
}
|
||||
groupTeams, err := group_model.FindGroupTeams(ctx, repo.GroupID)
|
||||
groupTeams, err := group_model.FindUserGroupTeams(ctx, repo.GroupID, user.ID)
|
||||
for _, team := range groupTeams {
|
||||
if team.AccessMode >= perm_model.AccessModeAdmin {
|
||||
perm.AccessMode = perm_model.AccessModeOwner
|
||||
@ -498,6 +498,11 @@ func GetIndividualUserRepoPermission(ctx context.Context, repo *repo_model.Repos
|
||||
unitAccessMode := max(perm.unitsMode[u.Type], minAccessMode, teamMode)
|
||||
perm.unitsMode[u.Type] = unitAccessMode
|
||||
}
|
||||
for _, team := range groupTeams {
|
||||
teamMode, _ := team.UnitAccessModeEx(ctx, u.Type)
|
||||
unitAccessMode := max(perm.unitsMode[u.Type], minAccessMode, teamMode)
|
||||
perm.unitsMode[u.Type] = unitAccessMode
|
||||
}
|
||||
}
|
||||
|
||||
return perm, err
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user