diff --git a/routers/common/runners.go b/routers/common/runners.go index 679630458b..fee5af9ab0 100644 --- a/routers/common/runners.go +++ b/routers/common/runners.go @@ -142,3 +142,27 @@ func RunnerResetRegistrationToken(ctx *context.Context, ownerID, repoID int64, r ctx.Flash.Success(ctx.Tr("admin.runners.reset_registration_token_success")) ctx.Redirect(redirectTo) } + +// RunnerDeletePost response for deleting a runner +func RunnerDeletePost(ctx *context.Context, runnerID int64, + successRedirectTo, failedRedirectTo string) { + runner, err := bots_model.GetRunnerByID(runnerID) + if err != nil { + log.Warn("DeleteRunnerPost.GetRunnerByID failed: %v, url: %s", err, ctx.Req.URL) + ctx.ServerError("DeleteRunnerPost.GetRunnerByID", err) + return + } + + err = bots_model.DeleteRunner(ctx, runner) + if err != nil { + log.Warn("DeleteRunnerPost.UpdateRunner failed: %v, url: %s", err, ctx.Req.URL) + ctx.Flash.Warning(ctx.Tr("runners.delete_runner_failed")) + ctx.Redirect(failedRedirectTo) + return + } + + log.Info("DeleteRunnerPost success: %s", ctx.Req.URL) + + ctx.Flash.Success(ctx.Tr("runners.delete_runner_success")) + ctx.Redirect(successRedirectTo) +} diff --git a/routers/web/admin/runners.go b/routers/web/admin/runners.go index 6b7983caf2..29d59ea13c 100644 --- a/routers/web/admin/runners.go +++ b/routers/web/admin/runners.go @@ -12,7 +12,6 @@ import ( "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/base" "code.gitea.io/gitea/modules/context" - "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/routers/common" ) @@ -67,27 +66,12 @@ func EditRunnerPost(ctx *context.Context) { setting.AppSubURL+"/admin/runners/"+url.PathEscape(ctx.Params(":runnerid"))) } -// DeleteRunner response for deleting a runner +// DeleteRunnerPost response for deleting a runner func DeleteRunnerPost(ctx *context.Context) { - runner, err := bots_model.GetRunnerByID(ctx.ParamsInt64(":runnerid")) - if err != nil { - log.Warn("DeleteRunnerPost.GetRunnerByID failed: %v, url: %s", err, ctx.Req.URL) - ctx.ServerError("DeleteRunnerPost.GetRunnerByID", err) - return - } - - err = bots_model.DeleteRunner(ctx, runner) - if err != nil { - log.Warn("DeleteRunnerPost.UpdateRunner failed: %v, url: %s", err, ctx.Req.URL) - ctx.Flash.Warning(ctx.Tr("admin.runners.delete_runner_failed")) - ctx.Redirect(setting.AppSubURL + "/admin/runners/" + url.PathEscape(ctx.Params(":runnerid"))) - return - } - - log.Info("DeleteRunnerPost success: %s", ctx.Req.URL) - - ctx.Flash.Success(ctx.Tr("admin.runners.delete_runner_success")) - ctx.Redirect(setting.AppSubURL + "/admin/runners/") + common.RunnerDeletePost(ctx, ctx.ParamsInt64(":runnerid"), + setting.AppSubURL+"/admin/runners/", + setting.AppSubURL+"/admin/runners/"+url.PathEscape(ctx.Params(":runnerid")), + ) } func ResetRunnerRegistrationToken(ctx *context.Context) { diff --git a/routers/web/org/org_runners.go b/routers/web/org/org_runners.go index dd072f393d..dad16e7796 100644 --- a/routers/web/org/org_runners.go +++ b/routers/web/org/org_runners.go @@ -62,3 +62,11 @@ func RunnersEditPost(ctx *context.Context) { ctx.Org.Organization.ID, 0, ctx.Org.OrgLink+"/settings/runners/"+url.PathEscape(ctx.Params(":runnerid"))) } + +// RunnerDeletePost response for deleting runner +func RunnerDeletePost(ctx *context.Context) { + common.RunnerDeletePost(ctx, + ctx.ParamsInt64(":runnerid"), + ctx.Org.OrgLink+"/settings/runners", + ctx.Org.OrgLink+"/settings/runners/"+url.PathEscape(ctx.Params(":runnerid"))) +} diff --git a/routers/web/repo/runners.go b/routers/web/repo/runners.go index 7a35533327..3c259c56b5 100644 --- a/routers/web/repo/runners.go +++ b/routers/web/repo/runners.go @@ -61,3 +61,10 @@ func ResetRunnerRegistrationToken(ctx *context.Context) { 0, ctx.Repo.Repository.ID, ctx.Repo.RepoLink+"/settings/runners") } + +// RunnerDeletePost response for deleting runner +func RunnerDeletePost(ctx *context.Context) { + common.RunnerDeletePost(ctx, ctx.ParamsInt64(":runnerid"), + ctx.Repo.RepoLink+"/settings/runners", + ctx.Repo.RepoLink+"/settings/runners/"+url.PathEscape(ctx.Params(":runnerid"))) +} diff --git a/routers/web/web.go b/routers/web/web.go index ab6cb1256c..07fc7f6332 100644 --- a/routers/web/web.go +++ b/routers/web/web.go @@ -797,6 +797,7 @@ func RegisterRoutes(m *web.Route) { m.Get("", org.Runners) m.Combo("/{runnerid}").Get(org.RunnersEdit). Post(bindIgnErr(forms.EditRunnerForm{}), org.RunnersEditPost) + m.Post("/{runnerid}/delete", org.RunnerDeletePost) m.Get("/reset_registration_token", org.ResetRunnerRegistrationToken) }) @@ -969,6 +970,7 @@ func RegisterRoutes(m *web.Route) { m.Get("", repo.Runners) m.Combo("/{runnerid}").Get(repo.RunnersEdit). Post(bindIgnErr(forms.EditRunnerForm{}), repo.RunnersEditPost) + m.Post("/{runnerid}/delete", repo.RunnerDeletePost) m.Get("/reset_registration_token", repo.ResetRunnerRegistrationToken) }) diff --git a/templates/runners/edit.tmpl b/templates/runners/edit.tmpl index 936fd2950f..dc974a3cfc 100644 --- a/templates/runners/edit.tmpl +++ b/templates/runners/edit.tmpl @@ -89,4 +89,22 @@ {{template "base/paginate" .}} +