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