Restore form inputs on organization create error (#34201)

Keeps the entered inputs when the "organization create" request
returns an error.

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
bytedream 2025-04-15 10:21:51 +02:00 committed by GitHub
parent 421d0e5849
commit 18a673bad1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 5 deletions

View File

@ -27,11 +27,14 @@ const (
// Create render the page for create organization // Create render the page for create organization
func Create(ctx *context.Context) { func Create(ctx *context.Context) {
ctx.Data["Title"] = ctx.Tr("new_org") ctx.Data["Title"] = ctx.Tr("new_org")
ctx.Data["DefaultOrgVisibilityMode"] = setting.Service.DefaultOrgVisibilityMode
if !ctx.Doer.CanCreateOrganization() { if !ctx.Doer.CanCreateOrganization() {
ctx.ServerError("Not allowed", errors.New(ctx.Locale.TrString("org.form.create_org_not_allowed"))) ctx.ServerError("Not allowed", errors.New(ctx.Locale.TrString("org.form.create_org_not_allowed")))
return return
} }
ctx.Data["visibility"] = setting.Service.DefaultOrgVisibilityMode
ctx.Data["repo_admin_change_team_access"] = true
ctx.HTML(http.StatusOK, tplCreateOrg) ctx.HTML(http.StatusOK, tplCreateOrg)
} }

View File

@ -18,15 +18,15 @@
<label for="visibility">{{ctx.Locale.Tr "org.settings.visibility"}}</label> <label for="visibility">{{ctx.Locale.Tr "org.settings.visibility"}}</label>
<div class="inline-right"> <div class="inline-right">
<div class="ui radio checkbox"> <div class="ui radio checkbox">
<input class="enable-system-radio" name="visibility" type="radio" value="0" {{if .DefaultOrgVisibilityMode.IsPublic}}checked{{end}}> <input class="enable-system-radio" name="visibility" type="radio" value="0" {{if .visibility.IsPublic}}checked{{end}}>
<label>{{ctx.Locale.Tr "org.settings.visibility.public"}}</label> <label>{{ctx.Locale.Tr "org.settings.visibility.public"}}</label>
</div> </div>
<div class="ui radio checkbox"> <div class="ui radio checkbox">
<input class="enable-system-radio" name="visibility" type="radio" value="1" {{if .DefaultOrgVisibilityMode.IsLimited}}checked{{end}}> <input class="enable-system-radio" name="visibility" type="radio" value="1" {{if .visibility.IsLimited}}checked{{end}}>
<label>{{ctx.Locale.Tr "org.settings.visibility.limited"}}</label> <label>{{ctx.Locale.Tr "org.settings.visibility.limited"}}</label>
</div> </div>
<div class="ui radio checkbox"> <div class="ui radio checkbox">
<input class="enable-system-radio" name="visibility" type="radio" value="2" {{if .DefaultOrgVisibilityMode.IsPrivate}}checked{{end}}> <input class="enable-system-radio" name="visibility" type="radio" value="2" {{if .visibility.IsPrivate}}checked{{end}}>
<label>{{ctx.Locale.Tr "org.settings.visibility.private"}}</label> <label>{{ctx.Locale.Tr "org.settings.visibility.private"}}</label>
</div> </div>
</div> </div>
@ -35,7 +35,7 @@
<div class="inline field" id="permission_box"> <div class="inline field" id="permission_box">
<label>{{ctx.Locale.Tr "org.settings.permission"}}</label> <label>{{ctx.Locale.Tr "org.settings.permission"}}</label>
<div class="ui checkbox"> <div class="ui checkbox">
<input type="checkbox" name="repo_admin_change_team_access" checked> <input type="checkbox" name="repo_admin_change_team_access" {{if .repo_admin_change_team_access}}checked{{end}}>
<label>{{ctx.Locale.Tr "org.settings.repoadminchangeteam"}}</label> <label>{{ctx.Locale.Tr "org.settings.repoadminchangeteam"}}</label>
</div> </div>
</div> </div>