aboutsummaryrefslogtreecommitdiffstats
path: root/routers/admin
diff options
context:
space:
mode:
authorRussell Aunger <rba@live.com>2019-03-18 22:33:20 -0400
committertechknowlogick <matti@mdranta.net>2019-03-18 22:33:20 -0400
commitb34996a62937b23121d19912b37ed2b1023f1479 (patch)
tree9a080ef145d738c71956279980bd7f56b70b6825 /routers/admin
parentcac9e6e7605184f5679b1ebfbe5b5805191d9a53 (diff)
downloadgitea-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.go47
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",
+ })
+}