diff options
author | Russell Aunger <rba@live.com> | 2019-03-18 22:33:20 -0400 |
---|---|---|
committer | techknowlogick <matti@mdranta.net> | 2019-03-18 22:33:20 -0400 |
commit | b34996a62937b23121d19912b37ed2b1023f1479 (patch) | |
tree | 9a080ef145d738c71956279980bd7f56b70b6825 /templates | |
parent | cac9e6e7605184f5679b1ebfbe5b5805191d9a53 (diff) | |
download | gitea-b34996a62937b23121d19912b37ed2b1023f1479.tar.gz gitea-b34996a62937b23121d19912b37ed2b1023f1479.zip |
Implement Default Webhooks (#4299)
Partially implement #770.
Add "Default Webhooks" page in site admin UI.
Persist to the existing webhooks table, but store with RepoID=0 and OrgID=0.
Upon repo creation, copy the set of default webhooks into the new repo.
Diffstat (limited to 'templates')
-rw-r--r-- | templates/admin/hook_new.tmpl | 37 | ||||
-rw-r--r-- | templates/admin/hooks.tmpl | 8 | ||||
-rw-r--r-- | templates/admin/nav.tmpl | 1 | ||||
-rw-r--r-- | templates/admin/navbar.tmpl | 5 | ||||
-rw-r--r-- | templates/repo/settings/webhook/dingtalk.tmpl | 2 | ||||
-rw-r--r-- | templates/repo/settings/webhook/discord.tmpl | 2 | ||||
-rw-r--r-- | templates/repo/settings/webhook/gitea.tmpl | 2 | ||||
-rw-r--r-- | templates/repo/settings/webhook/gogs.tmpl | 2 | ||||
-rw-r--r-- | templates/repo/settings/webhook/list.tmpl | 14 | ||||
-rw-r--r-- | templates/repo/settings/webhook/settings.tmpl | 9 | ||||
-rw-r--r-- | templates/repo/settings/webhook/slack.tmpl | 2 |
11 files changed, 67 insertions, 17 deletions
diff --git a/templates/admin/hook_new.tmpl b/templates/admin/hook_new.tmpl new file mode 100644 index 0000000000..c9ee14a982 --- /dev/null +++ b/templates/admin/hook_new.tmpl @@ -0,0 +1,37 @@ +{{template "base/head" .}} +<div class="admin new webhook"> + {{template "admin/navbar" .}} + <div class="ui container"> + {{template "base/alert" .}} + <h4 class="ui top attached header"> + {{if .PageIsAdminHooksNew}} + {{.i18n.Tr "admin.hooks.add_webhook"}} + {{else}} + {{.i18n.Tr "admin.hooks.update_webhook"}} + {{end}} + <div class="ui right"> + {{if eq .HookType "gitea"}} + <img class="img-13" src="{{AppSubUrl}}/img/gitea-sm.png"> + {{else if eq .HookType "gogs"}} + <img class="img-13" src="{{AppSubUrl}}/img/gogs.ico"> + {{else if eq .HookType "slack"}} + <img class="img-13" src="{{AppSubUrl}}/img/slack.png"> + {{else if eq .HookType "discord"}} + <img class="img-13" src="{{AppSubUrl}}/img/discord.png"> + {{else if eq .HookType "dingtalk"}} + <img class="img-13" src="{{AppSubUrl}}/img/dingtalk.ico"> + {{end}} + </div> + </h4> + <div class="ui attached segment"> + {{template "repo/settings/webhook/gitea" .}} + {{template "repo/settings/webhook/gogs" .}} + {{template "repo/settings/webhook/slack" .}} + {{template "repo/settings/webhook/discord" .}} + {{template "repo/settings/webhook/dingtalk" .}} + </div> + + {{template "repo/settings/webhook/history" .}} + </div> +</div> +{{template "base/footer" .}} diff --git a/templates/admin/hooks.tmpl b/templates/admin/hooks.tmpl new file mode 100644 index 0000000000..3265a1d69a --- /dev/null +++ b/templates/admin/hooks.tmpl @@ -0,0 +1,8 @@ +{{template "base/head" .}} +<div class="admin hooks"> + {{template "admin/navbar" .}} + <div class="ui container"> + {{template "repo/settings/webhook/list" .}} + </div> +</div> +{{template "base/footer" .}} diff --git a/templates/admin/nav.tmpl b/templates/admin/nav.tmpl index 7129ee11ed..d95a0d7ecf 100644 --- a/templates/admin/nav.tmpl +++ b/templates/admin/nav.tmpl @@ -6,6 +6,7 @@ <li {{if .PageIsAdminUsers}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/users">{{.i18n.Tr "admin.users"}}</a></li> <li {{if .PageIsAdminOrganizations}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/orgs">{{.i18n.Tr "admin.organizations"}}</a></li> <li {{if .PageIsAdminRepositories}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/repos">{{.i18n.Tr "admin.repositories"}}</a></li> + <li {{if .PageIsAdminHooks}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/hooks">{{.i18n.Tr "admin.hooks"}}</a></li> <li {{if .PageIsAdminAuthentications}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/auths">{{.i18n.Tr "admin.authentication"}}</a></li> <li {{if .PageIsAdminConfig}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/config">{{.i18n.Tr "admin.config"}}</a></li> <li {{if .PageIsAdminNotices}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/notices">{{.i18n.Tr "admin.notices"}}</a></li> diff --git a/templates/admin/navbar.tmpl b/templates/admin/navbar.tmpl index c5ad124157..caa8c1f323 100644 --- a/templates/admin/navbar.tmpl +++ b/templates/admin/navbar.tmpl @@ -11,6 +11,9 @@ <a class="{{if .PageIsAdminRepositories}}active{{end}} item" href="{{AppSubUrl}}/admin/repos"> {{.i18n.Tr "admin.repositories"}} </a> + <a class="{{if .PageIsAdminHooks}}active{{end}} item" href="{{AppSubUrl}}/admin/hooks"> + {{.i18n.Tr "admin.hooks"}} + </a> <a class="{{if .PageIsAdminAuthentications}}active{{end}} item" href="{{AppSubUrl}}/admin/auths"> {{.i18n.Tr "admin.authentication"}} </a> @@ -23,4 +26,4 @@ <a class="{{if .PageIsAdminMonitor}}active{{end}} item" href="{{AppSubUrl}}/admin/monitor"> {{.i18n.Tr "admin.monitor"}} </a> -</div>
\ No newline at end of file +</div> diff --git a/templates/repo/settings/webhook/dingtalk.tmpl b/templates/repo/settings/webhook/dingtalk.tmpl index 3e6504f651..7a82c03eb4 100644 --- a/templates/repo/settings/webhook/dingtalk.tmpl +++ b/templates/repo/settings/webhook/dingtalk.tmpl @@ -1,6 +1,6 @@ {{if eq .HookType "dingtalk"}} <p>{{.i18n.Tr "repo.settings.add_dingtalk_hook_desc" "https://dingtalk.com" | Str2html}}</p> - <form class="ui form" action="{{.BaseLink}}/settings/hooks/dingtalk/{{if .PageIsSettingsHooksNew}}new{{else}}{{.Webhook.ID}}{{end}}" method="post"> + <form class="ui form" action="{{.BaseLink}}/dingtalk/{{or .Webhook.ID "new"}}" method="post"> {{.CsrfTokenHtml}} <div class="required field {{if .Err_PayloadURL}}error{{end}}"> <label for="payload_url">{{.i18n.Tr "repo.settings.payload_url"}}</label> diff --git a/templates/repo/settings/webhook/discord.tmpl b/templates/repo/settings/webhook/discord.tmpl index 75c31efb51..01f6f08f69 100644 --- a/templates/repo/settings/webhook/discord.tmpl +++ b/templates/repo/settings/webhook/discord.tmpl @@ -1,6 +1,6 @@ {{if eq .HookType "discord"}} <p>{{.i18n.Tr "repo.settings.add_discord_hook_desc" "https://discordapp.com" | Str2html}}</p> - <form class="ui form" action="{{.BaseLink}}/settings/hooks/discord/{{if .PageIsSettingsHooksNew}}new{{else}}{{.Webhook.ID}}{{end}}" method="post"> + <form class="ui form" action="{{.BaseLink}}/discord/{{or .Webhook.ID "new"}}" method="post"> {{.CsrfTokenHtml}} <div class="required field {{if .Err_PayloadURL}}error{{end}}"> <label for="payload_url">{{.i18n.Tr "repo.settings.payload_url"}}</label> diff --git a/templates/repo/settings/webhook/gitea.tmpl b/templates/repo/settings/webhook/gitea.tmpl index 87a8813d0e..605022256d 100644 --- a/templates/repo/settings/webhook/gitea.tmpl +++ b/templates/repo/settings/webhook/gitea.tmpl @@ -1,6 +1,6 @@ {{if eq .HookType "gitea"}}
<p>{{.i18n.Tr "repo.settings.add_webhook_desc" "https://docs.gitea.io/en-us/webhooks/" | Str2html}}</p>
- <form class="ui form" action="{{.BaseLink}}/settings/hooks/gitea/{{if .PageIsSettingsHooksNew}}new{{else}}{{.Webhook.ID}}{{end}}" method="post">
+ <form class="ui form" action="{{.BaseLink}}/gitea/{{or .Webhook.ID "new"}}" method="post">
{{.CsrfTokenHtml}}
<div class="required field {{if .Err_PayloadURL}}error{{end}}">
<label for="payload_url">{{.i18n.Tr "repo.settings.payload_url"}}</label>
diff --git a/templates/repo/settings/webhook/gogs.tmpl b/templates/repo/settings/webhook/gogs.tmpl index 649fb54aea..203a0a7954 100644 --- a/templates/repo/settings/webhook/gogs.tmpl +++ b/templates/repo/settings/webhook/gogs.tmpl @@ -1,6 +1,6 @@ {{if eq .HookType "gogs"}} <p>{{.i18n.Tr "repo.settings.add_webhook_desc" "https://docs.gitea.io/en-us/webhooks/" | Str2html}}</p> - <form class="ui form" action="{{.BaseLink}}/settings/hooks/gogs/{{if .PageIsSettingsHooksNew}}new{{else}}{{.Webhook.ID}}{{end}}" method="post"> + <form class="ui form" action="{{.BaseLink}}/gogs/{{or .Webhook.ID "new"}}" method="post"> {{.CsrfTokenHtml}} <div class="required field {{if .Err_PayloadURL}}error{{end}}"> <label for="payload_url">{{.i18n.Tr "repo.settings.payload_url"}}</label> diff --git a/templates/repo/settings/webhook/list.tmpl b/templates/repo/settings/webhook/list.tmpl index d98976cf5b..d2985c3676 100644 --- a/templates/repo/settings/webhook/list.tmpl +++ b/templates/repo/settings/webhook/list.tmpl @@ -5,19 +5,19 @@ <div class="ui floating1 jump dropdown"> <div class="ui blue tiny button">{{.i18n.Tr "repo.settings.add_webhook"}}</div> <div class="menu"> - <a class="item" href="{{.BaseLink}}/settings/hooks/gitea/new"> + <a class="item" href="{{.BaseLink}}/gitea/new"> <img class="img-10" src="{{AppSubUrl}}/img/gitea-sm.png">Gitea </a> - <a class="item" href="{{.BaseLink}}/settings/hooks/gogs/new"> + <a class="item" href="{{.BaseLink}}/gogs/new"> <img class="img-10" src="{{AppSubUrl}}/img/gogs.ico">Gogs </a> - <a class="item" href="{{.BaseLink}}/settings/hooks/slack/new"> + <a class="item" href="{{.BaseLink}}/slack/new"> <img class="img-10" src="{{AppSubUrl}}/img/slack.png">Slack </a> - <a class="item" href="{{.BaseLink}}/settings/hooks/discord/new"> + <a class="item" href="{{.BaseLink}}/discord/new"> <img class="img-10" src="{{AppSubUrl}}/img/discord.png">Discord </a> - <a class="item" href="{{.BaseLink}}/settings/hooks/dingtalk/new"> + <a class="item" href="{{.BaseLink}}/dingtalk/new"> <img class="img-10" src="{{AppSubUrl}}/img/dingtalk.ico">Dingtalk </a> </div> @@ -38,9 +38,9 @@ {{else}} <span class="text grey"><i class="octicon octicon-primitive-dot"></i></span> {{end}} - <a class="dont-break-out" href="{{$.BaseLink}}/settings/hooks/{{.ID}}">{{.URL}}</a> + <a class="dont-break-out" href="{{$.BaseLink}}/{{.ID}}">{{.URL}}</a> <div class="ui right"> - <span class="text blue"><a href="{{$.BaseLink}}/settings/hooks/{{.ID}}"><i class="fa fa-pencil"></i></a></span> + <span class="text blue"><a href="{{$.BaseLink}}/{{.ID}}"><i class="fa fa-pencil"></i></a></span> <span class="text red"><a class="delete-button" data-url="{{$.Link}}/delete" data-id="{{.ID}}"><i class="fa fa-times"></i></a></span> </div> </div> diff --git a/templates/repo/settings/webhook/settings.tmpl b/templates/repo/settings/webhook/settings.tmpl index f04c25a0a3..3f9f739775 100644 --- a/templates/repo/settings/webhook/settings.tmpl +++ b/templates/repo/settings/webhook/settings.tmpl @@ -1,9 +1,10 @@ +{{$isNew:=or .PageIsSettingsHooksNew .PageIsAdminHooksNew}} <div class="field"> <h4>{{.i18n.Tr "repo.settings.event_desc"}}</h4> <div class="grouped event type fields"> <div class="field"> <div class="ui radio non-events checkbox"> - <input class="hidden" name="events" type="radio" value="push_only" {{if or .PageIsSettingsHooksNew .Webhook.PushOnly}}checked{{end}}> + <input class="hidden" name="events" type="radio" value="push_only" {{if or $isNew .Webhook.PushOnly}}checked{{end}}> <label>{{.i18n.Tr "repo.settings.event_push_only" | Str2html}}</label> </div> </div> @@ -119,17 +120,17 @@ <div class="inline field"> <div class="ui checkbox"> - <input class="hidden" name="active" type="checkbox" tabindex="0" {{if or .PageIsSettingsHooksNew .Webhook.IsActive}}checked{{end}}> + <input class="hidden" name="active" type="checkbox" tabindex="0" {{if or $isNew .Webhook.IsActive}}checked{{end}}> <label>{{.i18n.Tr "repo.settings.active"}}</label> <span class="help">{{.i18n.Tr "repo.settings.active_helper"}}</span> </div> </div> <div class="field"> - {{if .PageIsSettingsHooksNew}} + {{if $isNew}} <button class="ui green button">{{.i18n.Tr "repo.settings.add_webhook"}}</button> {{else}} <button class="ui green button">{{.i18n.Tr "repo.settings.update_webhook"}}</button> - <a class="ui red delete-button button" data-url="{{.BaseLink}}/settings/hooks/delete" data-id="{{.Webhook.ID}}">{{.i18n.Tr "repo.settings.delete_webhook"}}</a> + <a class="ui red delete-button button" data-url="{{.BaseLink}}/delete" data-id="{{.Webhook.ID}}">{{.i18n.Tr "repo.settings.delete_webhook"}}</a> {{end}} </div> diff --git a/templates/repo/settings/webhook/slack.tmpl b/templates/repo/settings/webhook/slack.tmpl index c35a679da7..d7b6eebf3b 100644 --- a/templates/repo/settings/webhook/slack.tmpl +++ b/templates/repo/settings/webhook/slack.tmpl @@ -1,6 +1,6 @@ {{if eq .HookType "slack"}} <p>{{.i18n.Tr "repo.settings.add_slack_hook_desc" "http://slack.com" | Str2html}}</p> - <form class="ui form" action="{{.BaseLink}}/settings/hooks/slack/{{if .PageIsSettingsHooksNew}}new{{else}}{{.Webhook.ID}}{{end}}" method="post"> + <form class="ui form" action="{{.BaseLink}}/slack/{{or .Webhook.ID "new"}}" method="post"> {{.CsrfTokenHtml}} <div class="required field {{if .Err_PayloadURL}}error{{end}}"> <label for="payload_url">{{.i18n.Tr "repo.settings.payload_url"}}</label> |