Files
Atay-Makhzan/routers/web/admin/hooks.go
T

72 lines
2.2 KiB
Go
Raw Normal View History

2019-03-18 22:33:20 -04:00
// Copyright 2018 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
2019-03-18 22:33:20 -04:00
package admin
import (
"net/http"
2021-11-10 13:13:16 +08:00
"code.gitea.io/gitea/models/webhook"
"code.gitea.io/gitea/modules/optional"
2019-03-18 22:33:20 -04:00
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/templates"
"code.gitea.io/gitea/services/context"
2019-03-18 22:33:20 -04:00
)
const (
2020-03-08 22:08:05 +00:00
// tplAdminHooks template path to render hook settings
tplAdminHooks templates.TplName = "admin/hooks"
2019-03-18 22:33:20 -04:00
)
2020-03-08 22:08:05 +00:00
// DefaultOrSystemWebhooks renders both admin default and system webhook list pages
func DefaultOrSystemWebhooks(ctx *context.Context) {
var err error
ctx.Data["Title"] = ctx.Tr("admin.hooks")
ctx.Data["PageIsAdminSystemHooks"] = true
ctx.Data["PageIsAdminDefaultHooks"] = true
2023-07-04 20:36:08 +02:00
def := make(map[string]any, len(ctx.Data))
sys := make(map[string]any, len(ctx.Data))
for k, v := range ctx.Data {
def[k] = v
sys[k] = v
}
sys["Title"] = ctx.Tr("admin.systemhooks")
2024-09-02 20:36:24 +02:00
sys["Description"] = ctx.Tr("admin.systemhooks.desc", "https://docs.gitea.com/usage/webhooks")
sys["Webhooks"], err = webhook.GetSystemWebhooks(ctx, optional.None[bool]())
sys["BaseLink"] = setting.AppSubURL + "/-/admin/hooks"
sys["BaseLinkNew"] = setting.AppSubURL + "/-/admin/system-hooks"
if err != nil {
ctx.ServerError("GetWebhooksAdmin", err)
return
2020-03-08 22:08:05 +00:00
}
2019-03-18 22:33:20 -04:00
def["Title"] = ctx.Tr("admin.defaulthooks")
2024-09-02 20:36:24 +02:00
def["Description"] = ctx.Tr("admin.defaulthooks.desc", "https://docs.gitea.com/usage/webhooks")
def["Webhooks"], err = webhook.GetDefaultWebhooks(ctx)
def["BaseLink"] = setting.AppSubURL + "/-/admin/hooks"
def["BaseLinkNew"] = setting.AppSubURL + "/-/admin/default-hooks"
2019-03-18 22:33:20 -04:00
if err != nil {
2020-03-08 22:08:05 +00:00
ctx.ServerError("GetWebhooksAdmin", err)
2019-03-18 22:33:20 -04:00
return
}
ctx.Data["DefaultWebhooks"] = def
ctx.Data["SystemWebhooks"] = sys
ctx.HTML(http.StatusOK, tplAdminHooks)
2019-03-18 22:33:20 -04:00
}
2020-03-08 22:08:05 +00:00
// DeleteDefaultOrSystemWebhook handler to delete an admin-defined system or default webhook
func DeleteDefaultOrSystemWebhook(ctx *context.Context) {
2023-01-29 02:12:10 +08:00
if err := webhook.DeleteDefaultSystemWebhook(ctx, ctx.FormInt64("id")); err != nil {
2019-03-18 22:33:20 -04:00
ctx.Flash.Error("DeleteDefaultWebhook: " + err.Error())
} else {
ctx.Flash.Success(ctx.Tr("repo.settings.webhook_deletion_success"))
}
ctx.JSONRedirect(setting.AppSubURL + "/-/admin/hooks")
2019-03-18 22:33:20 -04:00
}