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  }