diff --git a/routers/admin/hooks.go b/routers/admin/hooks.go index b80ed3cc3c..1b96150b0b 100644 --- a/routers/admin/hooks.go +++ b/routers/admin/hooks.go @@ -5,6 +5,8 @@ package admin import ( + "strings" + "code.gitea.io/gitea/models" "code.gitea.io/gitea/modules/base" "code.gitea.io/gitea/modules/context" @@ -12,20 +14,30 @@ import ( ) const ( - // tplAdminHooks template path for render hook settings + // tplAdminHooks template path to render hook settings tplAdminHooks base.TplName = "admin/hooks" ) -// DefaultWebhooks render admin-default webhook list page -func DefaultWebhooks(ctx *context.Context) { +// DefaultAndSystemWebhooks renders both admin default and system webhook list pages +func DefaultAndSystemWebhooks(ctx *context.Context) { ctx.Data["Title"] = ctx.Tr("admin.hooks") - ctx.Data["PageIsAdminHooks"] = true - ctx.Data["BaseLink"] = setting.AppSubURL + "/admin/hooks" ctx.Data["Description"] = ctx.Tr("admin.hooks.desc") - ws, err := models.GetDefaultWebhooks() + // Are we looking at default webhooks? + var ws []*models.Webhook + var err error + if strings.Contains(ctx.Link, "/admin/hooks") { + ctx.Data["PageIsAdminHooks"] = true + ctx.Data["BaseLink"] = setting.AppSubURL + "/admin/hooks" + ws, err = models.GetDefaultWebhooks() + } else { + ctx.Data["PageIsAdminSystemHooks"] = true + ctx.Data["BaseLink"] = setting.AppSubURL + "/admin/system-hooks" + ws, err = models.GetSystemWebhooks() + } + if err != nil { - ctx.ServerError("GetWebhooksDefaults", err) + ctx.ServerError("GetWebhooksAdmin", err) return } diff --git a/routers/routes/routes.go b/routers/routes/routes.go index 9859ebc539..7123e092f1 100644 --- a/routers/routes/routes.go +++ b/routers/routes/routes.go @@ -453,8 +453,8 @@ func RegisterRoutes(m *macaron.Macaron) { m.Post("/delete", admin.DeleteRepo) }) - m.Group("/hooks", func() { - m.Get("", admin.DefaultWebhooks) + m.Group("/^:type(hooks|system-hooks)$", func() { + m.Get("", admin.DefaultAndSystemWebhooks) m.Post("/delete", admin.DeleteDefaultWebhook) m.Get("/:type/new", repo.WebhooksNew) m.Post("/gitea/new", bindIgnErr(auth.NewWebhookForm{}), repo.WebHooksNewPost)