update GetUserRepoPermission

ensure we check the parent group's unit permissions as well
This commit is contained in:
☙◦ The Tablet ❀ GamerGirlandCo ◦❧
2026-04-02 20:01:12 -04:00
parent 83d982cc38
commit aae627e4e8
+6 -1
View File
@@ -483,7 +483,7 @@ func GetIndividualUserRepoPermission(ctx context.Context, repo *repo_model.Repos
return perm, nil 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 { for _, team := range groupTeams {
if team.AccessMode >= perm_model.AccessModeAdmin { if team.AccessMode >= perm_model.AccessModeAdmin {
perm.AccessMode = perm_model.AccessModeOwner 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) unitAccessMode := max(perm.unitsMode[u.Type], minAccessMode, teamMode)
perm.unitsMode[u.Type] = unitAccessMode 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 return perm, err