update `GetUserRepoPermission`

ensure we check the parent group's unit permissions as well
pull/35265/head
☙◦ The Tablet ❀ GamerGirlandCo ◦❧ 2025-11-30 15:44:31 +07:00
parent 74c68db624
commit c20d0955d1
No known key found for this signature in database
GPG Key ID: 924A5F6AF051E87C
1 changed files with 6 additions and 1 deletions

@ -387,7 +387,7 @@ func GetUserRepoPermission(ctx context.Context, repo *repo_model.Repository, use
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
@ -402,6 +402,11 @@ func GetUserRepoPermission(ctx context.Context, repo *repo_model.Repository, use
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