diff options
author | oliverpool <git@olivier.pfad.fr> | 2024-03-22 11:50:59 +0100 |
---|---|---|
committer | oliverpool <git@olivier.pfad.fr> | 2024-03-28 11:13:37 +0100 |
commit | 9558b18d2284ac9617015b36dd971699fafb30b6 (patch) | |
tree | 3626d4544e80097a577d401062b99db1170113dc /templates/webhook | |
parent | Merge pull request '[PORT] Support repo code search without setting up an ind... (diff) | |
download | forgejo-9558b18d2284ac9617015b36dd971699fafb30b6.tar.xz forgejo-9558b18d2284ac9617015b36dd971699fafb30b6.zip |
[REFACTOR] webhook move templates
Diffstat (limited to 'templates/webhook')
-rw-r--r-- | templates/webhook/new.tmpl | 40 | ||||
-rw-r--r-- | templates/webhook/new/dingtalk.tmpl | 11 | ||||
-rw-r--r-- | templates/webhook/new/discord.tmpl | 19 | ||||
-rw-r--r-- | templates/webhook/new/feishu.tmpl | 12 | ||||
-rw-r--r-- | templates/webhook/new/forgejo.tmpl | 40 | ||||
-rw-r--r-- | templates/webhook/new/gitea.tmpl | 40 | ||||
-rw-r--r-- | templates/webhook/new/gogs.tmpl | 28 | ||||
-rw-r--r-- | templates/webhook/new/matrix.tmpl | 27 | ||||
-rw-r--r-- | templates/webhook/new/msteams.tmpl | 11 | ||||
-rw-r--r-- | templates/webhook/new/packagist.tmpl | 19 | ||||
-rw-r--r-- | templates/webhook/new/slack.tmpl | 28 | ||||
-rw-r--r-- | templates/webhook/new/telegram.tmpl | 19 | ||||
-rw-r--r-- | templates/webhook/new/wechatwork.tmpl | 11 |
13 files changed, 293 insertions, 12 deletions
diff --git a/templates/webhook/new.tmpl b/templates/webhook/new.tmpl index 0347455f2c..17eb578b0e 100644 --- a/templates/webhook/new.tmpl +++ b/templates/webhook/new.tmpl @@ -10,17 +10,33 @@ </div> </h4> <div class="ui attached segment"> - {{template "repo/settings/webhook/forgejo" .ctxData}} - {{template "repo/settings/webhook/gitea" .ctxData}} - {{template "repo/settings/webhook/gogs" .ctxData}} - {{template "repo/settings/webhook/slack" .ctxData}} - {{template "repo/settings/webhook/discord" .ctxData}} - {{template "repo/settings/webhook/dingtalk" .ctxData}} - {{template "repo/settings/webhook/telegram" .ctxData}} - {{template "repo/settings/webhook/msteams" .ctxData}} - {{template "repo/settings/webhook/feishu" .ctxData}} - {{template "repo/settings/webhook/matrix" .ctxData}} - {{template "repo/settings/webhook/wechatwork" .ctxData}} - {{template "repo/settings/webhook/packagist" .ctxData}} + {{with .ctxData}} + <!-- the template argument cannot be dynamic --> + {{if eq .HookType "forgejo"}} + {{template "webhook/new/forgejo" .}} + {{else if eq .HookType "gitea"}} + {{template "webhook/new/gitea" .}} + {{else if eq .HookType "gogs"}} + {{template "webhook/new/gogs" .}} + {{else if eq .HookType "slack"}} + {{template "webhook/new/slack" .}} + {{else if eq .HookType "discord"}} + {{template "webhook/new/discord" .}} + {{else if eq .HookType "dingtalk"}} + {{template "webhook/new/dingtalk" .}} + {{else if eq .HookType "telegram"}} + {{template "webhook/new/telegram" .}} + {{else if eq .HookType "msteams"}} + {{template "webhook/new/msteams" .}} + {{else if eq .HookType "feishu"}} + {{template "webhook/new/feishu" .}} + {{else if eq .HookType "matrix"}} + {{template "webhook/new/matrix" .}} + {{else if eq .HookType "wechatwork"}} + {{template "webhook/new/wechatwork" .}} + {{else if eq .HookType "packagist"}} + {{template "webhook/new/packagist" .}} + {{end}} + {{end}} </div> {{template "repo/settings/webhook/history" .ctxData}} diff --git a/templates/webhook/new/dingtalk.tmpl b/templates/webhook/new/dingtalk.tmpl new file mode 100644 index 0000000000..f1cd6a1932 --- /dev/null +++ b/templates/webhook/new/dingtalk.tmpl @@ -0,0 +1,11 @@ +{{if eq .HookType "dingtalk"}} + <p>{{ctx.Locale.Tr "repo.settings.add_web_hook_desc" "https://dingtalk.com" (ctx.Locale.Tr "repo.settings.web_hook_name_dingtalk")}}</p> + <form class="ui form" action="{{.BaseLink}}/{{or .Webhook.ID "dingtalk/new"}}" method="post"> + {{.CsrfTokenHtml}} + <div class="required field {{if .Err_PayloadURL}}error{{end}}"> + <label for="payload_url">{{ctx.Locale.Tr "repo.settings.payload_url"}}</label> + <input id="payload_url" name="payload_url" type="url" value="{{.Webhook.URL}}" autofocus required> + </div> + {{template "repo/settings/webhook/settings" .}} + </form> +{{end}} diff --git a/templates/webhook/new/discord.tmpl b/templates/webhook/new/discord.tmpl new file mode 100644 index 0000000000..95a3806c89 --- /dev/null +++ b/templates/webhook/new/discord.tmpl @@ -0,0 +1,19 @@ +{{if eq .HookType "discord"}} + <p>{{ctx.Locale.Tr "repo.settings.add_web_hook_desc" "https://discord.com" (ctx.Locale.Tr "repo.settings.web_hook_name_discord")}}</p> + <form class="ui form" action="{{.BaseLink}}/{{or .Webhook.ID "discord/new"}}" method="post"> + {{.CsrfTokenHtml}} + <div class="required field {{if .Err_PayloadURL}}error{{end}}"> + <label for="payload_url">{{ctx.Locale.Tr "repo.settings.payload_url"}}</label> + <input id="payload_url" name="payload_url" type="url" value="{{.Webhook.URL}}" autofocus required> + </div> + <div class="field"> + <label for="username">{{ctx.Locale.Tr "repo.settings.discord_username"}}</label> + <input id="username" name="username" value="{{.HookMetadata.Username}}" placeholder="Forgejo"> + </div> + <div class="field"> + <label for="icon_url">{{ctx.Locale.Tr "repo.settings.discord_icon_url"}}</label> + <input id="icon_url" name="icon_url" value="{{.HookMetadata.IconURL}}" placeholder="https://example.com/assets/img/logo.svg"> + </div> + {{template "repo/settings/webhook/settings" .}} + </form> +{{end}} diff --git a/templates/webhook/new/feishu.tmpl b/templates/webhook/new/feishu.tmpl new file mode 100644 index 0000000000..cd6aaf935a --- /dev/null +++ b/templates/webhook/new/feishu.tmpl @@ -0,0 +1,12 @@ +{{if eq .HookType "feishu"}} + <p>{{ctx.Locale.Tr "repo.settings.add_web_hook_desc" "https://feishu.cn" (ctx.Locale.Tr "repo.settings.web_hook_name_feishu")}}</p> + <p>{{ctx.Locale.Tr "repo.settings.add_web_hook_desc" "https://larksuite.com" (ctx.Locale.Tr "repo.settings.web_hook_name_larksuite")}}</p> + <form class="ui form" action="{{.BaseLink}}/{{or .Webhook.ID "feishu/new"}}" method="post"> + {{.CsrfTokenHtml}} + <div class="required field {{if .Err_PayloadURL}}error{{end}}"> + <label for="payload_url">{{ctx.Locale.Tr "repo.settings.payload_url"}}</label> + <input id="payload_url" name="payload_url" type="url" value="{{.Webhook.URL}}" autofocus required> + </div> + {{template "repo/settings/webhook/settings" .}} + </form> +{{end}} diff --git a/templates/webhook/new/forgejo.tmpl b/templates/webhook/new/forgejo.tmpl new file mode 100644 index 0000000000..5c8233a638 --- /dev/null +++ b/templates/webhook/new/forgejo.tmpl @@ -0,0 +1,40 @@ +{{if eq .HookType "forgejo"}} + <p>{{ctx.Locale.Tr "repo.settings.add_web_hook_desc" "https://forgejo.org/docs/latest/user/webhooks/" (ctx.Locale.Tr "repo.settings.web_hook_name_forgejo")}}</p> + <form class="ui form" action="{{.BaseLink}}/{{or .Webhook.ID "forgejo/new"}}" method="post"> + {{template "base/disable_form_autofill"}} + {{.CsrfTokenHtml}} + <div class="required field {{if .Err_PayloadURL}}error{{end}}"> + <label for="payload_url">{{ctx.Locale.Tr "repo.settings.payload_url"}}</label> + <input id="payload_url" name="payload_url" type="url" value="{{.Webhook.URL}}" autofocus required> + </div> + <div class="field"> + <label>{{ctx.Locale.Tr "repo.settings.http_method"}}</label> + <div class="ui selection dropdown"> + <input type="hidden" id="http_method" name="http_method" value="{{if .Webhook.HTTPMethod}}{{.Webhook.HTTPMethod}}{{else}}POST{{end}}"> + <div class="default text"></div> + {{svg "octicon-triangle-down" 14 "dropdown icon"}} + <div class="menu"> + <div class="item" data-value="POST">POST</div> + <div class="item" data-value="GET">GET</div> + </div> + </div> + </div> + <div class="field"> + <label>{{ctx.Locale.Tr "repo.settings.content_type"}}</label> + <div class="ui selection dropdown"> + <input type="hidden" id="content_type" name="content_type" value="{{if .Webhook.ContentType}}{{.Webhook.ContentType}}{{else}}1{{end}}"> + <div class="default text"></div> + {{svg "octicon-triangle-down" 14 "dropdown icon"}} + <div class="menu"> + <div class="item" data-value="1">application/json</div> + <div class="item" data-value="2">application/x-www-form-urlencoded</div> + </div> + </div> + </div> + <div class="field {{if .Err_Secret}}error{{end}}"> + <label for="secret">{{ctx.Locale.Tr "repo.settings.secret"}}</label> + <input id="secret" name="secret" type="password" value="{{.Webhook.Secret}}" autocomplete="off"> + </div> + {{template "repo/settings/webhook/settings" .}} + </form> +{{end}} diff --git a/templates/webhook/new/gitea.tmpl b/templates/webhook/new/gitea.tmpl new file mode 100644 index 0000000000..e2a80d3c78 --- /dev/null +++ b/templates/webhook/new/gitea.tmpl @@ -0,0 +1,40 @@ +{{if eq .HookType "gitea"}} + <p>{{ctx.Locale.Tr "repo.settings.add_web_hook_desc" "https://forgejo.org/docs/latest/user/webhooks/" (ctx.Locale.Tr "repo.settings.web_hook_name_gitea")}}</p> + <form class="ui form" action="{{.BaseLink}}/{{or .Webhook.ID "gitea/new"}}" method="post"> + {{template "base/disable_form_autofill"}} + {{.CsrfTokenHtml}} + <div class="required field {{if .Err_PayloadURL}}error{{end}}"> + <label for="payload_url">{{ctx.Locale.Tr "repo.settings.payload_url"}}</label> + <input id="payload_url" name="payload_url" type="url" value="{{.Webhook.URL}}" autofocus required> + </div> + <div class="field"> + <label>{{ctx.Locale.Tr "repo.settings.http_method"}}</label> + <div class="ui selection dropdown"> + <input type="hidden" id="http_method" name="http_method" value="{{if .Webhook.HTTPMethod}}{{.Webhook.HTTPMethod}}{{else}}POST{{end}}"> + <div class="default text"></div> + {{svg "octicon-triangle-down" 14 "dropdown icon"}} + <div class="menu"> + <div class="item" data-value="POST">POST</div> + <div class="item" data-value="GET">GET</div> + </div> + </div> + </div> + <div class="field"> + <label>{{ctx.Locale.Tr "repo.settings.content_type"}}</label> + <div class="ui selection dropdown"> + <input type="hidden" id="content_type" name="content_type" value="{{if .Webhook.ContentType}}{{.Webhook.ContentType}}{{else}}1{{end}}"> + <div class="default text"></div> + {{svg "octicon-triangle-down" 14 "dropdown icon"}} + <div class="menu"> + <div class="item" data-value="1">application/json</div> + <div class="item" data-value="2">application/x-www-form-urlencoded</div> + </div> + </div> + </div> + <div class="field {{if .Err_Secret}}error{{end}}"> + <label for="secret">{{ctx.Locale.Tr "repo.settings.secret"}}</label> + <input id="secret" name="secret" type="password" value="{{.Webhook.Secret}}" autocomplete="off"> + </div> + {{template "repo/settings/webhook/settings" .}} + </form> +{{end}} diff --git a/templates/webhook/new/gogs.tmpl b/templates/webhook/new/gogs.tmpl new file mode 100644 index 0000000000..3c60033650 --- /dev/null +++ b/templates/webhook/new/gogs.tmpl @@ -0,0 +1,28 @@ +{{if eq .HookType "gogs"}} + <p>{{ctx.Locale.Tr "repo.settings.add_web_hook_desc" "https://forgejo.org/docs/latest/user/webhooks/" (ctx.Locale.Tr "repo.settings.web_hook_name_gogs")}}</p> + <form class="ui form" action="{{.BaseLink}}/{{or .Webhook.ID "gogs/new"}}" method="post"> + {{template "base/disable_form_autofill"}} + {{.CsrfTokenHtml}} + <div class="required field {{if .Err_PayloadURL}}error{{end}}"> + <label for="payload_url">{{ctx.Locale.Tr "repo.settings.payload_url"}}</label> + <input id="payload_url" name="payload_url" type="url" value="{{.Webhook.URL}}" autofocus required> + </div> + <div class="field"> + <label>{{ctx.Locale.Tr "repo.settings.content_type"}}</label> + <div class="ui selection dropdown"> + <input type="hidden" id="content_type" name="content_type" value="{{if .Webhook.ContentType}}{{.Webhook.ContentType}}{{else}}1{{end}}"> + <div class="default text"></div> + {{svg "octicon-triangle-down" 14 "dropdown icon"}} + <div class="menu"> + <div class="item" data-value="1">application/json</div> + <div class="item" data-value="2">application/x-www-form-urlencoded</div> + </div> + </div> + </div> + <div class="field {{if .Err_Secret}}error{{end}}"> + <label for="secret">{{ctx.Locale.Tr "repo.settings.secret"}}</label> + <input id="secret" name="secret" type="password" value="{{.Webhook.Secret}}" autocomplete="off"> + </div> + {{template "repo/settings/webhook/settings" .}} + </form> +{{end}} diff --git a/templates/webhook/new/matrix.tmpl b/templates/webhook/new/matrix.tmpl new file mode 100644 index 0000000000..57a78d3c81 --- /dev/null +++ b/templates/webhook/new/matrix.tmpl @@ -0,0 +1,27 @@ +{{if eq .HookType "matrix"}} + <p>{{ctx.Locale.Tr "repo.settings.add_web_hook_desc" "https://matrix.org/" (ctx.Locale.Tr "repo.settings.web_hook_name_matrix")}}</p> + <form class="ui form" action="{{.BaseLink}}/{{or .Webhook.ID "matrix/new"}}" method="post"> + {{.CsrfTokenHtml}} + <div class="required field {{if .Err_HomeserverURL}}error{{end}}"> + <label for="homeserver_url">{{ctx.Locale.Tr "repo.settings.matrix.homeserver_url"}}</label> + <input id="homeserver_url" name="homeserver_url" type="url" value="{{.HookMetadata.HomeserverURL}}" autofocus required> + </div> + <div class="required field {{if .Err_Room}}error{{end}}"> + <label for="room_id">{{ctx.Locale.Tr "repo.settings.matrix.room_id"}}</label> + <input id="room_id" name="room_id" type="text" value="{{.HookMetadata.Room}}" required> + </div> + <div class="field"> + <label>{{ctx.Locale.Tr "repo.settings.matrix.message_type"}}</label> + <div class="ui selection dropdown"> + <input type="hidden" id="message_type" name="message_type" value="{{if .HookMetadata.MessageType}}{{.HookMetadata.MessageType}}{{else}}1{{end}}"> + <div class="default text"></div> + {{svg "octicon-triangle-down" 14 "dropdown icon"}} + <div class="menu"> + <div class="item" data-value="1">m.notice</div> + <div class="item" data-value="2">m.text</div> + </div> + </div> + </div> + {{template "repo/settings/webhook/settings" .}} + </form> +{{end}} diff --git a/templates/webhook/new/msteams.tmpl b/templates/webhook/new/msteams.tmpl new file mode 100644 index 0000000000..771183c13c --- /dev/null +++ b/templates/webhook/new/msteams.tmpl @@ -0,0 +1,11 @@ +{{if eq .HookType "msteams"}} + <p>{{ctx.Locale.Tr "repo.settings.add_web_hook_desc" "https://teams.microsoft.com" (ctx.Locale.Tr "repo.settings.web_hook_name_msteams")}}</p> + <form class="ui form" action="{{.BaseLink}}/{{or .Webhook.ID "msteams/new"}}" method="post"> + {{.CsrfTokenHtml}} + <div class="required field {{if .Err_PayloadURL}}error{{end}}"> + <label for="payload_url">{{ctx.Locale.Tr "repo.settings.payload_url"}}</label> + <input id="payload_url" name="payload_url" type="url" value="{{.Webhook.URL}}" autofocus required> + </div> + {{template "repo/settings/webhook/settings" .}} + </form> +{{end}} diff --git a/templates/webhook/new/packagist.tmpl b/templates/webhook/new/packagist.tmpl new file mode 100644 index 0000000000..aad1ab5917 --- /dev/null +++ b/templates/webhook/new/packagist.tmpl @@ -0,0 +1,19 @@ +{{if eq .HookType "packagist"}} + <p>{{ctx.Locale.Tr "repo.settings.add_web_hook_desc" "https://packagist.org" (ctx.Locale.Tr "repo.settings.web_hook_name_packagist")}}</p> + <form class="ui form" action="{{.BaseLink}}/{{or .Webhook.ID "packagist/new"}}" method="post"> + {{.CsrfTokenHtml}} + <div class="required field {{if .Err_Username}}error{{end}}"> + <label for="username">{{ctx.Locale.Tr "repo.settings.packagist_username"}}</label> + <input id="username" name="username" value="{{.HookMetadata.Username}}" placeholder="Forgejo" autofocus required> + </div> + <div class="required field {{if .Err_APIToken}}error{{end}}"> + <label for="api_token">{{ctx.Locale.Tr "repo.settings.packagist_api_token"}}</label> + <input id="api_token" name="api_token" value="{{.HookMetadata.APIToken}}" placeholder="X5F_tZ-Wj3c1vqaU2Rky" required> + </div> + <div class="required field {{if .Err_PackageURL}}error{{end}}"> + <label for="package_url">{{ctx.Locale.Tr "repo.settings.packagist_package_url"}}</label> + <input id="package_url" name="package_url" value="{{.HookMetadata.PackageURL}}" placeholder="https://packagist.org/packages/laravel/framework" required> + </div> + {{template "repo/settings/webhook/settings" .}} + </form> +{{end}} diff --git a/templates/webhook/new/slack.tmpl b/templates/webhook/new/slack.tmpl new file mode 100644 index 0000000000..1000f4a633 --- /dev/null +++ b/templates/webhook/new/slack.tmpl @@ -0,0 +1,28 @@ +{{if eq .HookType "slack"}} + <p>{{ctx.Locale.Tr "repo.settings.add_web_hook_desc" "https://slack.com" (ctx.Locale.Tr "repo.settings.web_hook_name_slack")}}</p> + <form class="ui form" action="{{.BaseLink}}/{{or .Webhook.ID "slack/new"}}" method="post"> + {{.CsrfTokenHtml}} + <div class="required field {{if .Err_PayloadURL}}error{{end}}"> + <label for="payload_url">{{ctx.Locale.Tr "repo.settings.payload_url"}}</label> + <input id="payload_url" name="payload_url" type="url" value="{{.Webhook.URL}}" autofocus required> + </div> + <div class="required field {{if .Err_Channel}}error{{end}}"> + <label for="channel">{{ctx.Locale.Tr "repo.settings.slack_channel"}}</label> + <input id="channel" name="channel" value="{{.HookMetadata.Channel}}" placeholder="#general" required> + </div> + + <div class="field"> + <label for="username">{{ctx.Locale.Tr "repo.settings.slack_username"}}</label> + <input id="username" name="username" value="{{.HookMetadata.Username}}" placeholder="Forgejo"> + </div> + <div class="field"> + <label for="icon_url">{{ctx.Locale.Tr "repo.settings.slack_icon_url"}}</label> + <input id="icon_url" name="icon_url" value="{{.HookMetadata.IconURL}}" placeholder="https://example.com/img/favicon.png"> + </div> + <div class="field"> + <label for="color">{{ctx.Locale.Tr "repo.settings.slack_color"}}</label> + <input id="color" name="color" value="{{.HookMetadata.Color}}" placeholder="#dd4b39, good, warning, danger"> + </div> + {{template "repo/settings/webhook/settings" .}} + </form> +{{end}} diff --git a/templates/webhook/new/telegram.tmpl b/templates/webhook/new/telegram.tmpl new file mode 100644 index 0000000000..84bc2dc49d --- /dev/null +++ b/templates/webhook/new/telegram.tmpl @@ -0,0 +1,19 @@ +{{if eq .HookType "telegram"}} + <p>{{ctx.Locale.Tr "repo.settings.add_web_hook_desc" "https://core.telegram.org/bots" (ctx.Locale.Tr "repo.settings.web_hook_name_telegram")}}</p> + <form class="ui form" action="{{.BaseLink}}/{{or .Webhook.ID "telegram/new"}}" method="post"> + {{.CsrfTokenHtml}} + <div class="required field {{if .Err_BotToken}}error{{end}}"> + <label for="bot_token">{{ctx.Locale.Tr "repo.settings.bot_token"}}</label> + <input id="bot_token" name="bot_token" type="text" value="{{.HookMetadata.BotToken}}" autofocus required> + </div> + <div class="required field {{if .Err_ChatID}}error{{end}}"> + <label for="chat_id">{{ctx.Locale.Tr "repo.settings.chat_id"}}</label> + <input id="chat_id" name="chat_id" type="text" value="{{.HookMetadata.ChatID}}" required> + </div> + <div class="field {{if .Err_ThreadID}}error{{end}}"> + <label for="thread_id">{{ctx.Locale.Tr "repo.settings.thread_id"}}</label> + <input id="thread_id" name="thread_id" type="text" value="{{.HookMetadata.ThreadID}}"> + </div> + {{template "repo/settings/webhook/settings" .}} + </form> +{{end}} diff --git a/templates/webhook/new/wechatwork.tmpl b/templates/webhook/new/wechatwork.tmpl new file mode 100644 index 0000000000..bee753bf6b --- /dev/null +++ b/templates/webhook/new/wechatwork.tmpl @@ -0,0 +1,11 @@ +{{if eq .HookType "wechatwork"}} + <p>{{ctx.Locale.Tr "repo.settings.add_web_hook_desc" "https://work.weixin.qq.com" (ctx.Locale.Tr "repo.settings.web_hook_name_wechatwork")}}</p> + <form class="ui form" action="{{.BaseLink}}/{{or .Webhook.ID "wechatwork/new"}}" method="post"> + {{.CsrfTokenHtml}} + <div class="required field {{if .Err_PayloadURL}}error{{end}}"> + <label for="payload_url">{{ctx.Locale.Tr "repo.settings.payload_url"}}</label> + <input id="payload_url" name="payload_url" type="url" value="{{.Webhook.URL}}" autofocus required> + </div> + {{template "repo/settings/webhook/settings" .}} + </form> +{{end}} |