Платформа ЦРНП "Мирокод" для разработки проектов
https://git.mirocod.ru
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
2.0 KiB
66 lines
2.0 KiB
// 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 ( |
|
// tplAdminHooks template path to render hook settings |
|
tplAdminHooks base.TplName = "admin/hooks" |
|
) |
|
|
|
// 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() |
|
} |
|
|
|
if err != nil { |
|
ctx.ServerError("GetWebhooksAdmin", err) |
|
return |
|
} |
|
|
|
ctx.Data["Webhooks"] = ws |
|
ctx.HTML(200, tplAdminHooks) |
|
} |
|
|
|
// 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 { |
|
ctx.Flash.Error("DeleteDefaultWebhook: " + err.Error()) |
|
} else { |
|
ctx.Flash.Success(ctx.Tr("repo.settings.webhook_deletion_success")) |
|
} |
|
|
|
// 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", |
|
}) |
|
} |
|
}
|
|
|