0
0
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:
☙◦ The Tablet ❀ GamerGirlandCo ◦❧ 2025-11-30 15:44:31 -05:00
parent 83d982cc38
commit aae627e4e8
No known key found for this signature in database
GPG Key ID: 924A5F6AF051E87C

View File

@ -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