2019-03-18 22:33:20 -04:00
// 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 (
2020-03-08 22:08:05 +00:00
// tplAdminHooks template path to render hook settings
2019-03-18 22:33:20 -04:00
tplAdminHooks base . TplName = "admin/hooks"
)
2020-03-08 22:08:05 +00:00
// DefaultOrSystemWebhooks renders both admin default and system webhook list pages
func DefaultOrSystemWebhooks ( ctx * context . Context ) {
var ws [ ] * models . Webhook
var err error
// Are we looking at default webhooks?
if ctx . Params ( ":configType" ) == "hooks" {
ctx . Data [ "Title" ] = ctx . Tr ( "admin.hooks" )
ctx . Data [ "Description" ] = ctx . Tr ( "admin.hooks.desc" )
ctx . Data [ "PageIsAdminHooks" ] = true
ctx . Data [ "BaseLink" ] = setting . AppSubURL + "/admin/hooks"
ws , err = models . GetDefaultWebhooks ( )
} else {
ctx . Data [ "Title" ] = ctx . Tr ( "admin.systemhooks" )
ctx . Data [ "Description" ] = ctx . Tr ( "admin.systemhooks.desc" )
ctx . Data [ "PageIsAdminSystemHooks" ] = true
ctx . Data [ "BaseLink" ] = setting . AppSubURL + "/admin/system-hooks"
ws , err = models . GetSystemWebhooks ( )
}
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 [ "Webhooks" ] = ws
ctx . HTML ( 200 , tplAdminHooks )
}
2020-03-08 22:08:05 +00:00
// DeleteDefaultOrSystemWebhook handler to delete an admin-defined system or default webhook
func DeleteDefaultOrSystemWebhook ( ctx * context . Context ) {
if err := models . DeleteDefaultSystemWebhook ( ctx . QueryInt64 ( "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" ) )
}
2020-03-08 22:08:05 +00:00
// Are we looking at default webhooks?
if ctx . Params ( ":configType" ) == "hooks" {
ctx . JSON ( 200 , map [ string ] interface { } {
"redirect" : setting . AppSubURL + "/admin/hooks" ,
} )
} else {
ctx . JSON ( 200 , map [ string ] interface { } {
"redirect" : setting . AppSubURL + "/admin/system-hooks" ,
} )
}
2019-03-18 22:33:20 -04:00
}