diff --git a/routers/web/repo/setting/setting.go b/routers/web/repo/setting/setting.go index 5e7e33693d1..392c2e8527b 100644 --- a/routers/web/repo/setting/setting.go +++ b/routers/web/repo/setting/setting.go @@ -790,7 +790,7 @@ func handleSettingsPostConvert(ctx *context.Context) { form := web.GetForm[*forms.RepoSettingForm](ctx) repo := ctx.Repo.Repository - if repo.Name != form.RepoName { + if repo.FullName() != form.RepoName { ctx.JSONError(ctx.Tr("form.enterred_invalid_repo_name")) return } @@ -824,7 +824,7 @@ func handleSettingsPostConvertFork(ctx *context.Context) { ctx.ServerError("Convert Fork", err) return } - if repo.Name != form.RepoName { + if repo.FullName() != form.RepoName { ctx.JSONError(ctx.Tr("form.enterred_invalid_repo_name")) return } @@ -860,7 +860,7 @@ func handleSettingsPostTransfer(ctx *context.Context) { form := web.GetForm[*forms.RepoSettingForm](ctx) repo := ctx.Repo.Repository - if repo.Name != form.RepoName { + if repo.FullName() != form.RepoName { ctx.JSONError(ctx.Tr("form.enterred_invalid_repo_name")) return } @@ -951,7 +951,7 @@ func handleSettingsPostDelete(ctx *context.Context) { form := web.GetForm[*forms.RepoSettingForm](ctx) repo := ctx.Repo.Repository - if repo.Name != form.RepoName { + if repo.FullName() != form.RepoName { ctx.JSONError(ctx.Tr("form.enterred_invalid_repo_name")) return } @@ -977,7 +977,7 @@ func handleSettingsPostDeleteWiki(ctx *context.Context) { } form := web.GetForm[*forms.RepoSettingForm](ctx) repo := ctx.Repo.Repository - if repo.Name != form.RepoName { + if repo.FullName() != form.RepoName { ctx.JSONError(ctx.Tr("form.enterred_invalid_repo_name")) return } diff --git a/services/forms/repo_form.go b/services/forms/repo_form.go index cd7b94b7e2b..6bbdcccda18 100644 --- a/services/forms/repo_form.go +++ b/services/forms/repo_form.go @@ -79,7 +79,7 @@ type MigrateRepoForm struct { // RepoSettingForm form for changing repository settings type RepoSettingForm struct { middleware.FormDefaultValidator - RepoName string `binding:"Required;AlphaDashDot;MaxSize(100)"` + RepoName string `binding:"TrimSpace;Required;AlphaDashDot;MaxSize(100)"` Description string `binding:"MaxSize(2048)"` Website string `binding:"ValidUrl;MaxSize(1024)"` Interval string diff --git a/templates/repo/migrate/migrating.tmpl b/templates/repo/migrate/migrating.tmpl index f3254b97000..9d5f8d247c9 100644 --- a/templates/repo/migrate/migrating.tmpl +++ b/templates/repo/migrate/migrating.tmpl @@ -59,28 +59,13 @@
- + {{template "repo/settings/dangerous_operation_form" (dict + "RepoFullName" .Repository.FullName + "RepoOperationLink" (print .Repository.Link "/settings") + "RepoOperationAction" "delete" + "RepoOperationText" (ctx.Locale.Tr "repo.settings.confirm_delete") + )}} diff --git a/templates/repo/settings/dangerous_operation_form.tmpl b/templates/repo/settings/dangerous_operation_form.tmpl new file mode 100644 index 00000000000..f2e8df83edc --- /dev/null +++ b/templates/repo/settings/dangerous_operation_form.tmpl @@ -0,0 +1,22 @@ +{{$repoFullName := .RepoFullName}} +{{$repoOperationLink := .RepoOperationLink}} +{{$repoOperationAction := .RepoOperationAction}} +{{$repoOperationText := .RepoOperationText}} + + diff --git a/templates/repo/settings/options.tmpl b/templates/repo/settings/options.tmpl index 4b1c013bbb7..f07cb1012b8 100644 --- a/templates/repo/settings/options.tmpl +++ b/templates/repo/settings/options.tmpl @@ -909,11 +909,12 @@ - + {{template "repo/settings/dangerous_operation_form" (dict + "RepoFullName" .Repository.FullName + "RepoOperationLink" .Link + "RepoOperationAction" "convert" + "RepoOperationText" (ctx.Locale.Tr "repo.settings.convert_confirm") + )}} {{end}} @@ -926,11 +927,12 @@ - + {{template "repo/settings/dangerous_operation_form" (dict + "RepoFullName" .Repository.FullName + "RepoOperationLink" .Link + "RepoOperationAction" "convert_fork" + "RepoOperationText" (ctx.Locale.Tr "repo.settings.convert_fork_confirm") + )}} {{end}} @@ -945,16 +947,12 @@ {{ctx.Locale.Tr "repo.settings.transfer_notices_3"}}