mirror of
https://github.com/go-gitea/gitea
synced 2025-07-13 14:07:20 +00:00
Allow forks to org if you can create repos (#17783)
This commit is contained in:
@ -113,9 +113,9 @@ func getForkRepository(ctx *context.Context) *models.Repository {
|
||||
|
||||
ctx.Data["ForkRepo"] = forkRepo
|
||||
|
||||
ownedOrgs, err := models.GetOwnedOrgsByUserID(ctx.User.ID)
|
||||
ownedOrgs, err := models.GetOrgsCanCreateRepoByUserID(ctx.User.ID)
|
||||
if err != nil {
|
||||
ctx.ServerError("GetOwnedOrgsByUserID", err)
|
||||
ctx.ServerError("GetOrgsCanCreateRepoByUserID", err)
|
||||
return nil
|
||||
}
|
||||
var orgs []*models.Organization
|
||||
@ -216,13 +216,13 @@ func ForkPost(ctx *context.Context) {
|
||||
}
|
||||
}
|
||||
|
||||
// Check ownership of organization.
|
||||
// Check if user is allowed to create repo's on the organization.
|
||||
if ctxUser.IsOrganization() {
|
||||
isOwner, err := models.OrgFromUser(ctxUser).IsOwnedBy(ctx.User.ID)
|
||||
isAllowedToFork, err := models.OrgFromUser(ctxUser).CanCreateOrgRepo(ctx.User.ID)
|
||||
if err != nil {
|
||||
ctx.ServerError("IsOwnedBy", err)
|
||||
ctx.ServerError("CanCreateOrgRepo", err)
|
||||
return
|
||||
} else if !isOwner {
|
||||
} else if !isAllowedToFork {
|
||||
ctx.Error(http.StatusForbidden)
|
||||
return
|
||||
}
|
||||
|
Reference in New Issue
Block a user