From 40aca733472128e691621419c64aaf9e6f20874d Mon Sep 17 00:00:00 2001 From: KN4CK3R Date: Sun, 7 Mar 2021 20:21:09 +0100 Subject: [PATCH] Fix migration context data (#14910) * Unified context data. * Changed method name. --- routers/repo/migrate.go | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/routers/repo/migrate.go b/routers/repo/migrate.go index 89452de0f..e1ff8e136 100644 --- a/routers/repo/migrate.go +++ b/routers/repo/migrate.go @@ -32,8 +32,10 @@ func Migrate(ctx *context.Context) { return } - ctx.Data["Services"] = append([]structs.GitServiceType{structs.PlainGitService}, structs.SupportedFullGitService...) - serviceType := ctx.QueryInt("service_type") + serviceType := structs.GitServiceType(ctx.QueryInt("service_type")) + + setMigrationContextData(ctx, serviceType) + if serviceType == 0 { ctx.Data["Org"] = ctx.Query("org") ctx.Data["Mirror"] = ctx.Query("mirror") @@ -42,10 +44,7 @@ func Migrate(ctx *context.Context) { return } - ctx.Data["Title"] = ctx.Tr("new_migrate") ctx.Data["private"] = getRepoPrivate(ctx) - ctx.Data["IsForcedPrivate"] = setting.Repository.ForcePrivate - ctx.Data["DisableMirrors"] = setting.Repository.DisableMirrors ctx.Data["mirror"] = ctx.Query("mirror") == "1" ctx.Data["wiki"] = ctx.Query("wiki") == "1" ctx.Data["milestones"] = ctx.Query("milestones") == "1" @@ -53,9 +52,6 @@ func Migrate(ctx *context.Context) { ctx.Data["issues"] = ctx.Query("issues") == "1" ctx.Data["pull_requests"] = ctx.Query("pull_requests") == "1" ctx.Data["releases"] = ctx.Query("releases") == "1" - ctx.Data["LFSActive"] = setting.LFS.StartServer - // Plain git should be first - ctx.Data["service"] = structs.GitServiceType(serviceType) ctxUser := checkContextUser(ctx, ctx.QueryInt64("org")) if ctx.Written() { @@ -63,7 +59,7 @@ func Migrate(ctx *context.Context) { } ctx.Data["ContextUser"] = ctxUser - ctx.HTML(200, base.TplName("repo/migrate/"+structs.GitServiceType(serviceType).Name())) + ctx.HTML(200, base.TplName("repo/migrate/"+serviceType.Name())) } func handleMigrateError(ctx *context.Context, owner *models.User, err error, name string, tpl base.TplName, form *auth.MigrateRepoForm) { @@ -125,12 +121,9 @@ func MigratePost(ctx *context.Context) { return } - ctx.Data["Title"] = ctx.Tr("new_migrate") - // Plain git should be first - ctx.Data["service"] = structs.GitServiceType(form.Service) - ctx.Data["Services"] = append([]structs.GitServiceType{structs.PlainGitService}, structs.SupportedFullGitService...) + serviceType := structs.GitServiceType(form.Service) - tpl := base.TplName("repo/migrate/" + structs.GitServiceType(form.Service).Name()) + setMigrationContextData(ctx, serviceType) ctxUser := checkContextUser(ctx, form.UID) if ctx.Written() { @@ -138,6 +131,8 @@ func MigratePost(ctx *context.Context) { } ctx.Data["ContextUser"] = ctxUser + tpl := base.TplName("repo/migrate/" + serviceType.Name()) + if ctx.HasError() { ctx.HTML(200, tpl) return @@ -166,7 +161,7 @@ func MigratePost(ctx *context.Context) { var opts = migrations.MigrateOptions{ OriginalURL: form.CloneAddr, - GitServiceType: structs.GitServiceType(form.Service), + GitServiceType: serviceType, CloneAddr: remoteAddr, RepoName: form.RepoName, Description: form.Description, @@ -206,3 +201,15 @@ func MigratePost(ctx *context.Context) { handleMigrateError(ctx, ctxUser, err, "MigratePost", tpl, form) } + +func setMigrationContextData(ctx *context.Context, serviceType structs.GitServiceType) { + ctx.Data["Title"] = ctx.Tr("new_migrate") + + ctx.Data["LFSActive"] = setting.LFS.StartServer + ctx.Data["IsForcedPrivate"] = setting.Repository.ForcePrivate + ctx.Data["DisableMirrors"] = setting.Repository.DisableMirrors + + // Plain git should be first + ctx.Data["Services"] = append([]structs.GitServiceType{structs.PlainGitService}, structs.SupportedFullGitService...) + ctx.Data["service"] = serviceType +}