Skip to content

Commit b6087bd

Browse files
committed
Update
1 parent d7f1931 commit b6087bd

File tree

4 files changed

+45
-8
lines changed

4 files changed

+45
-8
lines changed

routers/web/admin/config.go

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"net/url"
1010
"strconv"
1111
"strings"
12+
"time"
1213

1314
system_model "code.gitea.io/gitea/models/system"
1415
"code.gitea.io/gitea/modules/base"
@@ -26,10 +27,16 @@ import (
2627
)
2728

2829
const (
29-
tplConfig base.TplName = "admin/config"
30-
tplConfigSettings base.TplName = "admin/config_settings"
30+
tplConfig base.TplName = "admin/config"
31+
tplConfigIncomingMailTestResult base.TplName = "admin/config_incoming_mail_test_result"
32+
tplConfigSettings base.TplName = "admin/config_settings"
3133
)
3234

35+
var incomingMailResult struct {
36+
Time int64
37+
Result string
38+
}
39+
3340
// SendTestMail send test mail to confirm mail service is OK
3441
func SendTestMail(ctx *context.Context) {
3542
email := ctx.FormString("email")
@@ -43,6 +50,21 @@ func SendTestMail(ctx *context.Context) {
4350
ctx.Redirect(setting.AppSubURL + "/-/admin/config")
4451
}
4552

53+
// TestIncomingMail ...
54+
func TestIncomingMail(ctx *context.Context) {
55+
log.Trace("call TestIncomingMail")
56+
incomingMailResult.Time = time.Now().Unix()
57+
incomingMailResult.Result = "ok"
58+
ctx.Redirect(setting.AppSubURL + "/-/admin/config")
59+
}
60+
61+
// IncomingMail ...
62+
func IncomingMail(ctx *context.Context) {
63+
log.Trace("call IncomingMail")
64+
ctx.Data["IncomingMailResult"] = incomingMailResult
65+
ctx.HTML(http.StatusOK, tplConfigIncomingMailTestResult)
66+
}
67+
4668
// TestCache test the cache settings
4769
func TestCache(ctx *context.Context) {
4870
elapsed, err := cache.Test()
@@ -157,6 +179,7 @@ func Config(ctx *context.Context) {
157179
ctx.Data["IncomingMailEnabled"] = true
158180
}
159181
ctx.Data["IncomingMail"] = setting.IncomingEmail
182+
ctx.Data["IncomingMailResult"] = incomingMailResult
160183

161184
ctx.Data["CacheAdapter"] = setting.CacheService.Adapter
162185
ctx.Data["CacheInterval"] = setting.CacheService.Interval

routers/web/web.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -712,8 +712,12 @@ func registerRoutes(m *web.Router) {
712712
m.Group("/config", func() {
713713
m.Get("", admin.Config)
714714
m.Post("", admin.ChangeConfig)
715-
m.Post("/test_mail", admin.SendTestMail)
716-
m.Post("/test_cache", admin.TestCache)
715+
m.Group("/test", func() {
716+
m.Post("/mail", admin.SendTestMail)
717+
m.Get("/incoming-mail", admin.IncomingMail)
718+
m.Post("/incoming-mail", admin.TestIncomingMail)
719+
m.Post("/cache", admin.TestCache)
720+
})
717721
m.Get("/settings", admin.ConfigSettings)
718722
})
719723

templates/admin/config.tmpl

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@
231231
<div class="divider"></div>
232232
<dt class="tw-py-1 tw-flex tw-items-center">{{ctx.Locale.Tr "admin.config.send_test_mail"}}</dt>
233233
<dd class="tw-py-0">
234-
<form class="ui form ignore-dirty" action="{{AppSubUrl}}/-/admin/config/test_mail" method="post">
234+
<form class="ui form ignore-dirty" action="{{AppSubUrl}}/-/admin/config/test/mail" method="post">
235235
{{.CsrfTokenHtml}}
236236
<div class="ui tiny input">
237237
<input type="email" name="email" placeholder="{{ctx.Locale.Tr "admin.config.test_email_placeholder"}}" size="29" required>
@@ -272,15 +272,17 @@
272272
<div class="divider"></div>
273273
<dt>{{ctx.Locale.Tr "admin.config.incoming_mail_test"}}</dt>
274274
<dd class="tw-py-0">
275-
<form class="ui form" action="#" method="post">
275+
<form class="ui form" action="{{AppSubUrl}}/-/admin/config/test/incoming-mail" method="post">
276276
{{.CsrfTokenHtml}}
277277
<button class="ui tiny primary button" data-tooltip-placement="top" data-tooltip-content={{ctx.Locale.Tr "admin.config.incoming_mail_description"}} data-tooltip-follow-cursor="horizontal">
278278
{{ctx.Locale.Tr "admin.config.incoming_mail_test_btn"}}
279279
</button>
280280
</form>
281281
</dd>
282282
<dt class="tw-py-1 tw-flex tw-items-center">{{ctx.Locale.Tr "admin.config.incoming_mail_result"}}</dt>
283-
<dd><pre class="tw-m-0">{{ctx.Locale.Tr "admin.config.incoming_mail_result"}}</pre></dd>
283+
<dd hx-get="{{$.Link}}/test/incoming-mail" hx-swap="morph:innerHTML" hx-trigger="every 5s" hx-indicator=".no-loading-indicator">
284+
{{template "admin/config_incoming_mail_test_result" .}}
285+
</dd>
284286
{{end}}
285287
</dl>
286288
</div>
@@ -305,7 +307,7 @@
305307
<div class="divider"></div>
306308
<dt class="tw-py-1 tw-flex tw-items-center">{{ctx.Locale.Tr "admin.config.cache_test"}}</dt>
307309
<dd class="tw-py-0">
308-
<form class="ui form ignore-dirty" action="{{AppSubUrl}}/-/admin/config/test_cache" method="post">
310+
<form class="ui form ignore-dirty" action="{{AppSubUrl}}/-/admin/config/test/cache" method="post">
309311
{{.CsrfTokenHtml}}
310312
<button class="ui tiny primary button">{{ctx.Locale.Tr "test"}}</button>
311313
</form>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{{if gt .IncomingMailResult.Time 0}}
2+
<pre class="tw-m-0">
3+
{
4+
"time": {{.IncomingMailResult.Time}},
5+
"result": {{.IncomingMailResult.Result}}
6+
}
7+
</pre>
8+
{{end}}

0 commit comments

Comments
 (0)