Skip to content

Commit 9630025

Browse files
update GetUserRepoPermission
ensure we check the parent group's unit permissions as well
1 parent 6e60e5a commit 9630025

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

models/perm/access/repo_permission.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,7 @@ func GetUserRepoPermission(ctx context.Context, repo *repo_model.Repository, use
387387
return perm, nil
388388
}
389389
}
390-
groupTeams, err := group_model.FindGroupTeams(ctx, repo.GroupID)
390+
groupTeams, err := group_model.FindUserGroupTeams(ctx, repo.GroupID, user.ID)
391391
for _, team := range groupTeams {
392392
if team.AccessMode >= perm_model.AccessModeAdmin {
393393
perm.AccessMode = perm_model.AccessModeOwner
@@ -402,6 +402,11 @@ func GetUserRepoPermission(ctx context.Context, repo *repo_model.Repository, use
402402
unitAccessMode := max(perm.unitsMode[u.Type], minAccessMode, teamMode)
403403
perm.unitsMode[u.Type] = unitAccessMode
404404
}
405+
for _, team := range groupTeams {
406+
teamMode, _ := team.UnitAccessModeEx(ctx, u.Type)
407+
unitAccessMode := max(perm.unitsMode[u.Type], minAccessMode, teamMode)
408+
perm.unitsMode[u.Type] = unitAccessMode
409+
}
405410
}
406411

407412
return perm, err

0 commit comments

Comments
 (0)