Multiple small admin dashboard fixes (#12153)

* Remove spurious spacing between Maintenance Operations and its table on dashboard
* Prevent (EXTRA string) comments in Task headers
* Redirect tasks started from monitor page back to monitor
* Fix #12107 - redirects from process cancel should use AppSubUrl
* When wrapping queues set the name correctly

Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
zeripath 2020-07-05 20:38:03 +01:00 committed by GitHub
parent 0d03fbf2ca
commit 217647f331
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 21 additions and 15 deletions

View file

@ -52,6 +52,7 @@ func (f *AdminEditUserForm) Validate(ctx *macaron.Context, errs binding.Errors)
// AdminDashboardForm form for admin dashboard operations // AdminDashboardForm form for admin dashboard operations
type AdminDashboardForm struct { type AdminDashboardForm struct {
Op string `binding:"required"` Op string `binding:"required"`
From string
} }
// Validate validates form fields // Validate validates form fields

View file

@ -75,6 +75,7 @@ func CreateQueue(name string, handle HandlerFunc, exemplar interface{}) Queue {
MaxAttempts: q.MaxAttempts, MaxAttempts: q.MaxAttempts,
Config: cfg, Config: cfg,
QueueLength: q.Length, QueueLength: q.Length,
Name: name,
}, exemplar) }, exemplar)
} }
if err != nil { if err != nil {

View file

@ -1867,12 +1867,12 @@ dashboard.operation_switch = Switch
dashboard.operation_run = Run dashboard.operation_run = Run
dashboard.clean_unbind_oauth = Clean unbound OAuth connections dashboard.clean_unbind_oauth = Clean unbound OAuth connections
dashboard.clean_unbind_oauth_success = All unbound OAuth connections have been deleted. dashboard.clean_unbind_oauth_success = All unbound OAuth connections have been deleted.
dashboard.task.started=Started Task: %s dashboard.task.started=Started Task: %[1]s
dashboard.task.process=Task: %s dashboard.task.process=Task: %[1]s
dashboard.task.cancelled=Task: %s cancelled: %[3]s dashboard.task.cancelled=Task: %[1]s cancelled: %[3]s
dashboard.task.error=Error in Task: %s: %[3]s dashboard.task.error=Error in Task: %[1]s: %[3]s
dashboard.task.finished=Task: %s started by %s has finished dashboard.task.finished=Task: %[1]s started by %[2]s has finished
dashboard.task.unknown=Unknown task: %s dashboard.task.unknown=Unknown task: %[1]s
dashboard.cron.started=Started Cron: %[1]s dashboard.cron.started=Started Cron: %[1]s
dashboard.cron.process=Cron: %[1]s dashboard.cron.process=Cron: %[1]s
dashboard.cron.cancelled=Cron: %s cancelled: %[3]s dashboard.cron.cancelled=Cron: %s cancelled: %[3]s

View file

@ -153,9 +153,12 @@ func DashboardPost(ctx *context.Context, form auth.AdminDashboardForm) {
ctx.Flash.Error(ctx.Tr("admin.dashboard.task.unknown", form.Op)) ctx.Flash.Error(ctx.Tr("admin.dashboard.task.unknown", form.Op))
} }
} }
if form.From == "monitor" {
ctx.Redirect(setting.AppSubURL + "/admin/monitor")
} else {
ctx.Redirect(setting.AppSubURL + "/admin") ctx.Redirect(setting.AppSubURL + "/admin")
} }
}
// SendTestMail send test mail to confirm mail service is OK // SendTestMail send test mail to confirm mail service is OK
func SendTestMail(ctx *context.Context) { func SendTestMail(ctx *context.Context) {
@ -331,7 +334,7 @@ func MonitorCancel(ctx *context.Context) {
pid := ctx.ParamsInt64("pid") pid := ctx.ParamsInt64("pid")
process.GetManager().Cancel(pid) process.GetManager().Cancel(pid)
ctx.JSON(200, map[string]interface{}{ ctx.JSON(200, map[string]interface{}{
"redirect": ctx.Repo.RepoLink + "/admin/monitor", "redirect": setting.AppSubURL + "/admin/monitor",
}) })
} }

View file

@ -14,9 +14,9 @@
<h4 class="ui top attached header"> <h4 class="ui top attached header">
{{.i18n.Tr "admin.dashboard.operations"}} {{.i18n.Tr "admin.dashboard.operations"}}
</h4> </h4>
<div class="ui attached table segment">
<form method="post" action="{{AppSubUrl}}/admin"> <form method="post" action="{{AppSubUrl}}/admin">
{{.CsrfTokenHtml}} {{.CsrfTokenHtml}}
<div class="ui attached table segment">
<table class="ui very basic table"> <table class="ui very basic table">
<tbody> <tbody>
<tr> <tr>
@ -62,8 +62,8 @@
</tr> </tr>
</tbody> </tbody>
</table> </table>
</form>
</div> </div>
</form>
<h4 class="ui top attached header"> <h4 class="ui top attached header">
{{.i18n.Tr "admin.dashboard.system_status"}} {{.i18n.Tr "admin.dashboard.system_status"}}

View file

@ -8,6 +8,7 @@
</h4> </h4>
<div class="ui attached table segment"> <div class="ui attached table segment">
<form method="post" action="{{AppSubUrl}}/admin"> <form method="post" action="{{AppSubUrl}}/admin">
<input type="hidden" name="from" value="monitor"/>
{{.CsrfTokenHtml}} {{.CsrfTokenHtml}}
<table class="ui very basic striped table"> <table class="ui very basic striped table">
<thead> <thead>