code.gitea.io/gitea@v1.21.7/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/webhook" 10 "code.gitea.io/gitea/modules/base" 11 "code.gitea.io/gitea/modules/context" 12 "code.gitea.io/gitea/modules/setting" 13 ) 14 15 const ( 16 tplSettingsHooks base.TplName = "user/settings/hooks" 17 ) 18 19 // Webhooks render webhook list page 20 func Webhooks(ctx *context.Context) { 21 ctx.Data["Title"] = ctx.Tr("settings") 22 ctx.Data["PageIsSettingsHooks"] = true 23 ctx.Data["BaseLink"] = setting.AppSubURL + "/user/settings/hooks" 24 ctx.Data["BaseLinkNew"] = setting.AppSubURL + "/user/settings/hooks" 25 ctx.Data["Description"] = ctx.Tr("settings.hooks.desc") 26 27 ws, err := webhook.ListWebhooksByOpts(ctx, &webhook.ListWebhookOptions{OwnerID: ctx.Doer.ID}) 28 if err != nil { 29 ctx.ServerError("ListWebhooksByOpts", err) 30 return 31 } 32 33 ctx.Data["Webhooks"] = ws 34 ctx.HTML(http.StatusOK, tplSettingsHooks) 35 } 36 37 // DeleteWebhook response for delete webhook 38 func DeleteWebhook(ctx *context.Context) { 39 if err := webhook.DeleteWebhookByOwnerID(ctx, ctx.Doer.ID, ctx.FormInt64("id")); err != nil { 40 ctx.Flash.Error("DeleteWebhookByOwnerID: " + err.Error()) 41 } else { 42 ctx.Flash.Success(ctx.Tr("repo.settings.webhook_deletion_success")) 43 } 44 45 ctx.JSONRedirect(setting.AppSubURL + "/user/settings/hooks") 46 }