From a04c487eaa36dfbcd56e39f919d00ddb935b30e7 Mon Sep 17 00:00:00 2001 From: HesterG Date: Mon, 29 May 2023 15:11:46 +0800 Subject: [PATCH 1/5] add user action runners --- models/actions/runner.go | 2 ++ routers/web/repo/setting/runners.go | 17 +++++++++++++++++ routers/web/web.go | 1 + templates/user/settings/actions.tmpl | 2 ++ templates/user/settings/navbar.tmpl | 3 +++ templates/user/settings/runner_edit.tmpl | 5 +++++ 6 files changed, 30 insertions(+) create mode 100644 templates/user/settings/runner_edit.tmpl diff --git a/models/actions/runner.go b/models/actions/runner.go index f1638eb0baa9c..9e94a13f8507e 100644 --- a/models/actions/runner.go +++ b/models/actions/runner.go @@ -71,6 +71,8 @@ func (r *ActionRunner) BelongsToOwnerType() types.OwnerType { if r.OwnerID != 0 { return types.OwnerTypeOrganization } + + return types.OwnerTypeIndividual return types.OwnerTypeSystemGlobal } diff --git a/routers/web/repo/setting/runners.go b/routers/web/repo/setting/runners.go index e8ad6358261c0..4cb1714491ee1 100644 --- a/routers/web/repo/setting/runners.go +++ b/routers/web/repo/setting/runners.go @@ -21,9 +21,11 @@ const ( tplRepoRunners base.TplName = "repo/settings/actions" tplOrgRunners base.TplName = "org/settings/actions" tplAdminRunners base.TplName = "admin/actions" + tplUserRunners base.TplName = "user/settings/actions" tplRepoRunnerEdit base.TplName = "repo/settings/runner_edit" tplOrgRunnerEdit base.TplName = "org/settings/runners_edit" tplAdminRunnerEdit base.TplName = "admin/runners/edit" + tplUserRunnerEdit base.TplName = "user/settings/runner_edit" ) type runnersCtx struct { @@ -32,6 +34,7 @@ type runnersCtx struct { IsRepo bool IsOrg bool IsAdmin bool + IsUser bool RunnersTemplate base.TplName RunnerEditTemplate base.TplName RedirectLink string @@ -71,6 +74,17 @@ func getRunnersCtx(ctx *context.Context) (*runnersCtx, error) { }, nil } + if ctx.Data["PageIsUserSettings"] == true { + return &runnersCtx{ + OwnerID: ctx.Doer.ID, + RepoID: 0, + IsUser: true, + RunnersTemplate: tplUserRunners, + RunnerEditTemplate: tplUserRunnerEdit, + RedirectLink: setting.AppSubURL + "/user/settings/actions/runners/", + }, nil + } + return nil, errors.New("unable to set Runners context") } @@ -105,6 +119,9 @@ func Runners(ctx *context.Context) { } else if rCtx.IsOrg { opts.OwnerID = rCtx.OwnerID opts.WithAvailable = true + } else if rCtx.IsUser { + opts.OwnerID = rCtx.OwnerID + opts.WithAvailable = true } actions_shared.RunnersList(ctx, opts) diff --git a/routers/web/web.go b/routers/web/web.go index a38638c48340f..e49b51819a514 100644 --- a/routers/web/web.go +++ b/routers/web/web.go @@ -492,6 +492,7 @@ func registerRoutes(m *web.Route) { m.Group("/actions", func() { m.Get("", user_setting.RedirectToDefaultSetting) + addSettingsRunnersRoutes() addSettingsSecretsRoutes() }, actions.MustEnableActions) diff --git a/templates/user/settings/actions.tmpl b/templates/user/settings/actions.tmpl index 4d56523587bc8..57cdae446966c 100644 --- a/templates/user/settings/actions.tmpl +++ b/templates/user/settings/actions.tmpl @@ -2,6 +2,8 @@
{{if eq .PageType "secrets"}} {{template "shared/secrets/add_list" .}} + {{else if eq .PageType "runners"}} + {{template "shared/actions/runner_list" .}} {{end}}
diff --git a/templates/user/settings/navbar.tmpl b/templates/user/settings/navbar.tmpl index b79308419bfc6..26f49820293b1 100644 --- a/templates/user/settings/navbar.tmpl +++ b/templates/user/settings/navbar.tmpl @@ -23,6 +23,9 @@
{{.locale.Tr "actions.actions"}}