diff options
author | Russell Aunger <rba@live.com> | 2019-03-18 22:33:20 -0400 |
---|---|---|
committer | techknowlogick <matti@mdranta.net> | 2019-03-18 22:33:20 -0400 |
commit | b34996a62937b23121d19912b37ed2b1023f1479 (patch) | |
tree | 9a080ef145d738c71956279980bd7f56b70b6825 /routers/admin | |
parent | cac9e6e7605184f5679b1ebfbe5b5805191d9a53 (diff) | |
download | gitea-b34996a62937b23121d19912b37ed2b1023f1479.tar.gz gitea-b34996a62937b23121d19912b37ed2b1023f1479.zip |
Implement Default Webhooks (#4299)
Partially implement #770.
Add "Default Webhooks" page in site admin UI.
Persist to the existing webhooks table, but store with RepoID=0 and OrgID=0.
Upon repo creation, copy the set of default webhooks into the new repo.
Diffstat (limited to 'routers/admin')
-rw-r--r-- | routers/admin/hooks.go | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/routers/admin/hooks.go b/routers/admin/hooks.go new file mode 100644 index 0000000000..b80ed3cc3c --- /dev/null +++ b/routers/admin/hooks.go @@ -0,0 +1,47 @@ +// Copyright 2018 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package admin + +import ( + "code.gitea.io/gitea/models" + "code.gitea.io/gitea/modules/base" + "code.gitea.io/gitea/modules/context" + "code.gitea.io/gitea/modules/setting" +) + +const ( + // tplAdminHooks template path for 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") + + ws, err := models.GetDefaultWebhooks() + if err != nil { + ctx.ServerError("GetWebhooksDefaults", err) + return + } + + ctx.Data["Webhooks"] = ws + 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 { + 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", + }) +} |