mirror of
https://github.com/drakkan/sftpgo.git
synced 2025-12-07 06:40:54 +03:00
web admin: try to uniform UI
This commit is contained in:
@@ -2944,7 +2944,9 @@ func TestBandwidthAndConnections(t *testing.T) {
|
|||||||
}
|
}
|
||||||
err = <-c
|
err = <-c
|
||||||
assert.Error(t, err, "connection closed while uploading: the upload must fail")
|
assert.Error(t, err, "connection closed while uploading: the upload must fail")
|
||||||
assert.Eventually(t, func() bool { return len(common.Connections.GetStats()) == 0 }, 1*time.Second, 50*time.Millisecond)
|
assert.Eventually(t, func() bool {
|
||||||
|
return len(common.Connections.GetStats()) == 0
|
||||||
|
}, 10*time.Second, 200*time.Millisecond)
|
||||||
err = os.Remove(testFilePath)
|
err = os.Remove(testFilePath)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
err = os.Remove(localDownloadPath)
|
err = os.Remove(localDownloadPath)
|
||||||
|
|||||||
@@ -13,12 +13,12 @@
|
|||||||
<div id="errorTxt" class="card-body text-form-error"></div>
|
<div id="errorTxt" class="card-body text-form-error"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{if .Connections}}
|
|
||||||
<div class="card shadow mb-4">
|
<div class="card shadow mb-4">
|
||||||
<div class="card-header py-3">
|
<div class="card-header py-3">
|
||||||
<h6 class="m-0 font-weight-bold text-primary">View and manage connections</h6>
|
<h6 class="m-0 font-weight-bold text-primary">View and manage connections</h6>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
{{if .Connections}}
|
||||||
<div class="table-responsive">
|
<div class="table-responsive">
|
||||||
<table class="table table-striped table-bordered" id="dataTable" width="100%" cellspacing="0">
|
<table class="table table-striped table-bordered" id="dataTable" width="100%" cellspacing="0">
|
||||||
<thead>
|
<thead>
|
||||||
@@ -43,13 +43,13 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{else}}
|
{{else}}
|
||||||
<div class="card mb-4 border-left-info">
|
<div class="card mb-4 border-left-info">
|
||||||
<div class="card-body">No user connected</div>
|
<div class="card-body">No user connected</div>
|
||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
{{define "dialog"}}
|
{{define "dialog"}}
|
||||||
|
|||||||
@@ -58,7 +58,3 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
{{define "extra_js"}}
|
|
||||||
|
|
||||||
{{end}}
|
|
||||||
@@ -3,8 +3,13 @@
|
|||||||
{{define "title"}}{{.Title}}{{end}}
|
{{define "title"}}{{.Title}}{{end}}
|
||||||
|
|
||||||
{{define "page_body"}}
|
{{define "page_body"}}
|
||||||
|
|
||||||
{{if .LoggedAdmin.Username}}
|
{{if .LoggedAdmin.Username}}
|
||||||
<h1 class="h5 mb-4 text-gray-800">{{.Title}}</h1>
|
<div class="card shadow mb-4">
|
||||||
|
<div class="card-header py-3">
|
||||||
|
<h6 class="m-0 font-weight-bold text-primary">{{.Title}}</h6>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
{{if .Error}}
|
{{if .Error}}
|
||||||
<div class="card mb-4 border-left-warning">
|
<div class="card mb-4 border-left-warning">
|
||||||
<div class="card-body text-form-error">{{.Error}}</div>
|
<div class="card-body text-form-error">{{.Error}}</div>
|
||||||
@@ -16,6 +21,8 @@
|
|||||||
<div class="card-body">{{.Success}}</div>
|
<div class="card-body">{{.Success}}</div>
|
||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
{{else}}
|
{{else}}
|
||||||
<div class="row justify-content-center">
|
<div class="row justify-content-center">
|
||||||
|
|
||||||
@@ -48,4 +55,5 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
{{end}}
|
{{end}}
|
||||||
@@ -4,9 +4,14 @@
|
|||||||
|
|
||||||
{{define "page_body"}}
|
{{define "page_body"}}
|
||||||
|
|
||||||
|
<div class="card shadow mb-4">
|
||||||
|
<div class="card-header py-3">
|
||||||
|
<h6 class="m-0 font-weight-bold text-primary">Services</h6>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
<div class="card mb-4 {{ if .Status.SSH.IsActive}}border-left-success{{else}}border-left-info{{end}}">
|
<div class="card mb-4 {{ if .Status.SSH.IsActive}}border-left-success{{else}}border-left-info{{end}}">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h5 class="card-title">SFTP/SSH server</h5>
|
<h6 class="card-title font-weight-bold">SFTP/SSH server</h6>
|
||||||
<p class="card-text">
|
<p class="card-text">
|
||||||
Status: {{ if .Status.SSH.IsActive}}"Started"{{else}}"Stopped"{{end}}
|
Status: {{ if .Status.SSH.IsActive}}"Started"{{else}}"Stopped"{{end}}
|
||||||
{{if .Status.SSH.IsActive}}
|
{{if .Status.SSH.IsActive}}
|
||||||
@@ -32,7 +37,7 @@
|
|||||||
|
|
||||||
<div class="card mb-4 {{ if .Status.FTP.IsActive}}border-left-success{{else}}border-left-info{{end}}">
|
<div class="card mb-4 {{ if .Status.FTP.IsActive}}border-left-success{{else}}border-left-info{{end}}">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h5 class="card-title">FTP server</h5>
|
<h6 class="card-title font-weight-bold">FTP server</h6>
|
||||||
<p class="card-text">
|
<p class="card-text">
|
||||||
Status: {{ if .Status.FTP.IsActive}}"Started"{{else}}"Stopped"{{end}}
|
Status: {{ if .Status.FTP.IsActive}}"Started"{{else}}"Stopped"{{end}}
|
||||||
{{if .Status.FTP.IsActive}}
|
{{if .Status.FTP.IsActive}}
|
||||||
@@ -57,7 +62,7 @@
|
|||||||
|
|
||||||
<div class="card mb-4 {{ if .Status.WebDAV.IsActive}}border-left-success{{else}}border-left-info{{end}}">
|
<div class="card mb-4 {{ if .Status.WebDAV.IsActive}}border-left-success{{else}}border-left-info{{end}}">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h5 class="card-title">WebDAV server</h5>
|
<h6 class="card-title font-weight-bold">WebDAV server</h6>
|
||||||
<p class="card-text">
|
<p class="card-text">
|
||||||
Status: {{ if .Status.WebDAV.IsActive}}"Started"{{else}}"Stopped"{{end}}
|
Status: {{ if .Status.WebDAV.IsActive}}"Started"{{else}}"Stopped"{{end}}
|
||||||
{{if .Status.WebDAV.IsActive}}
|
{{if .Status.WebDAV.IsActive}}
|
||||||
@@ -76,16 +81,17 @@
|
|||||||
|
|
||||||
<div class="card mb-4 {{ if .Status.Defender.IsActive}}border-left-success{{else}}border-left-info{{end}}">
|
<div class="card mb-4 {{ if .Status.Defender.IsActive}}border-left-success{{else}}border-left-info{{end}}">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h5 class="card-title">Defender</h5>
|
<h6 class="card-title font-weight-bold">Defender</h6>
|
||||||
<p class="card-text">
|
<p class="card-text">
|
||||||
Status: {{ if .Status.Defender.IsActive}}"Enabled"{{else}}"Disabled"{{end}}
|
Status: {{ if .Status.Defender.IsActive}}"Enabled"{{else}}"Disabled"{{end}}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="card mb-4 {{ if .Status.DataProvider.IsActive}}border-left-success{{else}}border-left-warning{{end}}">
|
<div
|
||||||
|
class="card mb-4 {{ if .Status.DataProvider.IsActive}}border-left-success{{else}}border-left-warning{{end}}">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h5 class="card-title">Data provider</h5>
|
<h6 class="card-title font-weight-bold">Data provider</h6>
|
||||||
<p class="card-text">
|
<p class="card-text">
|
||||||
Status: {{ if .Status.DataProvider.IsActive}}"OK"{{else}}"{{.Status.DataProvider.Error}}"{{end}}
|
Status: {{ if .Status.DataProvider.IsActive}}"OK"{{else}}"{{.Status.DataProvider.Error}}"{{end}}
|
||||||
<br>
|
<br>
|
||||||
@@ -94,4 +100,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
{{end}}
|
{{end}}
|
||||||
Reference in New Issue
Block a user