Skip to content

Commit edbf74c

Browse files
authored
Fix "force private" logic (#31012)
When creating a repo, the "FORCE_PRIVATE" config option should be respected, `readonly` doesn't work for checkbox, so it should use `disabled` attribute.
1 parent 82a0c36 commit edbf74c

File tree

16 files changed

+19
-18
lines changed

16 files changed

+19
-18
lines changed

routers/api/v1/repo/migrate.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ func Migrate(ctx *context.APIContext) {
175175
Description: opts.Description,
176176
OriginalURL: form.CloneAddr,
177177
GitServiceType: gitServiceType,
178-
IsPrivate: opts.Private,
178+
IsPrivate: opts.Private || setting.Repository.ForcePrivate,
179179
IsMirror: opts.Mirror,
180180
Status: repo_model.RepositoryBeingMigrated,
181181
})

routers/api/v1/repo/repo.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ func CreateUserRepo(ctx *context.APIContext, owner *user_model.User, opt api.Cre
252252
Gitignores: opt.Gitignores,
253253
License: opt.License,
254254
Readme: opt.Readme,
255-
IsPrivate: opt.Private,
255+
IsPrivate: opt.Private || setting.Repository.ForcePrivate,
256256
AutoInit: opt.AutoInit,
257257
DefaultBranch: opt.DefaultBranch,
258258
TrustModel: repo_model.ToTrustModel(opt.TrustModel),
@@ -364,7 +364,7 @@ func Generate(ctx *context.APIContext) {
364364
Name: form.Name,
365365
DefaultBranch: form.DefaultBranch,
366366
Description: form.Description,
367-
Private: form.Private,
367+
Private: form.Private || setting.Repository.ForcePrivate,
368368
GitContent: form.GitContent,
369369
Topics: form.Topics,
370370
GitHooks: form.GitHooks,

routers/web/repo/repo.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ func CreatePost(ctx *context.Context) {
248248
opts := repo_service.GenerateRepoOptions{
249249
Name: form.RepoName,
250250
Description: form.Description,
251-
Private: form.Private,
251+
Private: form.Private || setting.Repository.ForcePrivate,
252252
GitContent: form.GitContent,
253253
Topics: form.Topics,
254254
GitHooks: form.GitHooks,

services/migrations/gitea_uploader.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ func (g *GiteaLocalUploader) CreateRepo(repo *base.Repository, opts base.Migrate
107107
Description: repo.Description,
108108
OriginalURL: repo.OriginalURL,
109109
GitServiceType: opts.GitServiceType,
110-
IsPrivate: opts.Private,
110+
IsPrivate: opts.Private || setting.Repository.ForcePrivate,
111111
IsMirror: opts.Mirror,
112112
Status: repo_model.RepositoryBeingMigrated,
113113
})

services/repository/repository.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ func PushCreateRepo(ctx context.Context, authUser, owner *user_model.User, repoN
8585

8686
repo, err := CreateRepository(ctx, authUser, owner, CreateRepoOptions{
8787
Name: repoName,
88-
IsPrivate: setting.Repository.DefaultPushCreatePrivate,
88+
IsPrivate: setting.Repository.DefaultPushCreatePrivate || setting.Repository.ForcePrivate,
8989
})
9090
if err != nil {
9191
return nil, err

services/task/task.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ func CreateMigrateTask(ctx context.Context, doer, u *user_model.User, opts base.
107107
Description: opts.Description,
108108
OriginalURL: opts.OriginalURL,
109109
GitServiceType: opts.GitServiceType,
110-
IsPrivate: opts.Private,
110+
IsPrivate: opts.Private || setting.Repository.ForcePrivate,
111111
IsMirror: opts.Mirror,
112112
Status: repo_model.RepositoryBeingMigrated,
113113
})

templates/repo/create.tmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
<label>{{ctx.Locale.Tr "repo.visibility"}}</label>
5151
<div class="ui checkbox">
5252
{{if .IsForcedPrivate}}
53-
<input name="private" type="checkbox" checked readonly>
53+
<input name="private" type="checkbox" checked disabled>
5454
<label>{{ctx.Locale.Tr "repo.visibility_helper_forced"}}</label>
5555
{{else}}
5656
<input name="private" type="checkbox" {{if .private}}checked{{end}}>

templates/repo/migrate/codebase.tmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@
8989
<label>{{ctx.Locale.Tr "repo.visibility"}}</label>
9090
<div class="ui checkbox">
9191
{{if .IsForcedPrivate}}
92-
<input name="private" type="checkbox" checked readonly>
92+
<input name="private" type="checkbox" checked disabled>
9393
<label>{{ctx.Locale.Tr "repo.visibility_helper_forced"}}</label>
9494
{{else}}
9595
<input name="private" type="checkbox" {{if .private}}checked{{end}}>

templates/repo/migrate/git.tmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
<label>{{ctx.Locale.Tr "repo.visibility"}}</label>
6464
<div class="ui checkbox">
6565
{{if .IsForcedPrivate}}
66-
<input name="private" type="checkbox" checked readonly>
66+
<input name="private" type="checkbox" checked disabled>
6767
<label>{{ctx.Locale.Tr "repo.visibility_helper_forced"}}</label>
6868
{{else}}
6969
<input name="private" type="checkbox" {{if .private}}checked{{end}}>

templates/repo/migrate/gitbucket.tmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@
105105
<label>{{ctx.Locale.Tr "repo.visibility"}}</label>
106106
<div class="ui checkbox">
107107
{{if .IsForcedPrivate}}
108-
<input name="private" type="checkbox" checked readonly>
108+
<input name="private" type="checkbox" checked disabled>
109109
<label>{{ctx.Locale.Tr "repo.visibility_helper_forced"}}</label>
110110
{{else}}
111111
<input name="private" type="checkbox" {{if .private}}checked{{end}}>

templates/repo/migrate/gitea.tmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@
101101
<label>{{ctx.Locale.Tr "repo.visibility"}}</label>
102102
<div class="ui checkbox">
103103
{{if .IsForcedPrivate}}
104-
<input name="private" type="checkbox" checked readonly>
104+
<input name="private" type="checkbox" checked disabled>
105105
<label>{{ctx.Locale.Tr "repo.visibility_helper_forced"}}</label>
106106
{{else}}
107107
<input name="private" type="checkbox" {{if .private}} checked{{end}}>

templates/repo/migrate/github.tmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@
103103
<label>{{ctx.Locale.Tr "repo.visibility"}}</label>
104104
<div class="ui checkbox">
105105
{{if .IsForcedPrivate}}
106-
<input name="private" type="checkbox" checked readonly>
106+
<input name="private" type="checkbox" checked disabled>
107107
<label>{{ctx.Locale.Tr "repo.visibility_helper_forced"}}</label>
108108
{{else}}
109109
<input name="private" type="checkbox" {{if .private}}checked{{end}}>

templates/repo/migrate/gitlab.tmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@
100100
<label>{{ctx.Locale.Tr "repo.visibility"}}</label>
101101
<div class="ui checkbox">
102102
{{if .IsForcedPrivate}}
103-
<input name="private" type="checkbox" checked readonly>
103+
<input name="private" type="checkbox" checked disabled>
104104
<label>{{ctx.Locale.Tr "repo.visibility_helper_forced"}}</label>
105105
{{else}}
106106
<input name="private" type="checkbox" {{if .private}}checked{{end}}>

templates/repo/migrate/gogs.tmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@
103103
<label>{{ctx.Locale.Tr "repo.visibility"}}</label>
104104
<div class="ui checkbox">
105105
{{if .IsForcedPrivate}}
106-
<input name="private" type="checkbox" checked readonly>
106+
<input name="private" type="checkbox" checked disabled>
107107
<label>{{ctx.Locale.Tr "repo.visibility_helper_forced"}}</label>
108108
{{else}}
109109
<input name="private" type="checkbox" {{if .private}} checked{{end}}>

templates/repo/migrate/onedev.tmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@
8989
<label>{{ctx.Locale.Tr "repo.visibility"}}</label>
9090
<div class="ui checkbox">
9191
{{if .IsForcedPrivate}}
92-
<input name="private" type="checkbox" checked readonly>
92+
<input name="private" type="checkbox" checked disabled>
9393
<label>{{ctx.Locale.Tr "repo.visibility_helper_forced"}}</label>
9494
{{else}}
9595
<input name="private" type="checkbox" {{if .private}}checked{{end}}>

templates/repo/settings/options.tmpl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,10 @@
2828
<label>{{ctx.Locale.Tr "repo.visibility"}}</label>
2929
<div class="ui checkbox" {{if and (not .Repository.IsPrivate) (gt .Repository.NumStars 0)}}data-tooltip-content="{{ctx.Locale.Tr "repo.stars_remove_warning"}}"{{end}}>
3030
{{if .IsAdmin}}
31-
<input name="private" type="checkbox" {{if .Repository.IsPrivate}}checked{{end}}>
31+
<input name="private" type="checkbox" {{if .Repository.IsPrivate}}checked{{end}}>
3232
{{else}}
33-
<input name="private" type="checkbox" {{if .Repository.IsPrivate}}checked{{end}}{{if and $.ForcePrivate .Repository.IsPrivate}} readonly{{end}}>
33+
<input name="private" type="checkbox" {{if .Repository.IsPrivate}}checked{{end}}{{if and $.ForcePrivate .Repository.IsPrivate}} disabled{{end}}>
34+
{{if and .Repository.IsPrivate $.ForcePrivate}}<input type="hidden" name="private" value="{{.Repository.IsPrivate}}">{{end}}
3435
{{end}}
3536
<label>{{ctx.Locale.Tr "repo.visibility_helper"}} {{if .Repository.NumForks}}<span class="text red">{{ctx.Locale.Tr "repo.visibility_fork_helper"}}</span>{{end}}</label>
3637
</div>

0 commit comments

Comments
 (0)