aboutsummaryrefslogtreecommitdiffstats
path: root/routers/admin/hooks.go
diff options
context:
space:
mode:
Diffstat (limited to 'routers/admin/hooks.go')
-rw-r--r--routers/admin/hooks.go49
1 files changed, 34 insertions, 15 deletions
diff --git a/routers/admin/hooks.go b/routers/admin/hooks.go
index b80ed3cc3c..4697c4d933 100644
--- a/routers/admin/hooks.go
+++ b/routers/admin/hooks.go
@@ -12,20 +12,32 @@ 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) {
- 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")
+// DefaultOrSystemWebhooks renders both admin default and system webhook list pages
+func DefaultOrSystemWebhooks(ctx *context.Context) {
+ var ws []*models.Webhook
+ var err error
+
+ // Are we looking at default webhooks?
+ if ctx.Params(":configType") == "hooks" {
+ ctx.Data["Title"] = ctx.Tr("admin.hooks")
+ ctx.Data["Description"] = ctx.Tr("admin.hooks.desc")
+ ctx.Data["PageIsAdminHooks"] = true
+ ctx.Data["BaseLink"] = setting.AppSubURL + "/admin/hooks"
+ ws, err = models.GetDefaultWebhooks()
+ } else {
+ ctx.Data["Title"] = ctx.Tr("admin.systemhooks")
+ ctx.Data["Description"] = ctx.Tr("admin.systemhooks.desc")
+ ctx.Data["PageIsAdminSystemHooks"] = true
+ ctx.Data["BaseLink"] = setting.AppSubURL + "/admin/system-hooks"
+ ws, err = models.GetSystemWebhooks()
+ }
- ws, err := models.GetDefaultWebhooks()
if err != nil {
- ctx.ServerError("GetWebhooksDefaults", err)
+ ctx.ServerError("GetWebhooksAdmin", err)
return
}
@@ -33,15 +45,22 @@ func DefaultWebhooks(ctx *context.Context) {
ctx.HTML(200, tplAdminHooks)
}
-// DeleteDefaultWebhook response for delete admin-default webhook
-func DeleteDefaultWebhook(ctx *context.Context) {
- if err := models.DeleteDefaultWebhook(ctx.QueryInt64("id")); err != nil {
+// DeleteDefaultOrSystemWebhook handler to delete an admin-defined system or default webhook
+func DeleteDefaultOrSystemWebhook(ctx *context.Context) {
+ if err := models.DeleteDefaultSystemWebhook(ctx.QueryInt64("id")); err != nil {
ctx.Flash.Error("DeleteDefaultWebhook: " + err.Error())
} else {
ctx.Flash.Success(ctx.Tr("repo.settings.webhook_deletion_success"))
}
- ctx.JSON(200, map[string]interface{}{
- "redirect": setting.AppSubURL + "/admin/hooks",
- })
+ // Are we looking at default webhooks?
+ if ctx.Params(":configType") == "hooks" {
+ ctx.JSON(200, map[string]interface{}{
+ "redirect": setting.AppSubURL + "/admin/hooks",
+ })
+ } else {
+ ctx.JSON(200, map[string]interface{}{
+ "redirect": setting.AppSubURL + "/admin/system-hooks",
+ })
+ }
}