code.gitea.io/gitea@v1.22.3/routers/web/user/setting/webhooks.go (about) 1 // Copyright 2023 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package setting 5 6 import ( 7 "net/http" 8 9 "code.gitea.io/gitea/models/db" 10 "code.gitea.io/gitea/models/webhook" 11 "code.gitea.io/gitea/modules/base" 12 "code.gitea.io/gitea/modules/setting" 13 "code.gitea.io/gitea/services/context" 14 ) 15 16 const ( 17 tplSettingsHooks base.TplName = "user/settings/hooks" 18 ) 19 20 // Webhooks render webhook list page 21 func Webhooks(ctx *context.Context) { 22 ctx.Data["Title"] = ctx.Tr("settings") 23 ctx.Data["PageIsSettingsHooks"] = true 24 ctx.Data["BaseLink"] = setting.AppSubURL + "/user/settings/hooks" 25 ctx.Data["BaseLinkNew"] = setting.AppSubURL + "/user/settings/hooks" 26 ctx.Data["Description"] = ctx.Tr("settings.hooks.desc") 27 28 ws, err := db.Find[webhook.Webhook](ctx, webhook.ListWebhookOptions{OwnerID: ctx.Doer.ID}) 29 if err != nil { 30 ctx.ServerError("ListWebhooksByOpts", err) 31 return 32 } 33 34 ctx.Data["Webhooks"] = ws 35 ctx.HTML(http.StatusOK, tplSettingsHooks) 36 } 37 38 // DeleteWebhook response for delete webhook 39 func DeleteWebhook(ctx *context.Context) { 40 if err := webhook.DeleteWebhookByOwnerID(ctx, ctx.Doer.ID, ctx.FormInt64("id")); err != nil { 41 ctx.Flash.Error("DeleteWebhookByOwnerID: " + err.Error()) 42 } else { 43 ctx.Flash.Success(ctx.Tr("repo.settings.webhook_deletion_success")) 44 } 45 46 ctx.JSONRedirect(setting.AppSubURL + "/user/settings/hooks") 47 }