web admin: try to uniform UI
This commit is contained in:
parent
80f5ccd357
commit
2b9ba1d520
5 changed files with 119 additions and 104 deletions
|
@ -2944,7 +2944,9 @@ func TestBandwidthAndConnections(t *testing.T) {
|
|||
}
|
||||
err = <-c
|
||||
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)
|
||||
assert.NoError(t, err)
|
||||
err = os.Remove(localDownloadPath)
|
||||
|
|
|
@ -13,12 +13,12 @@
|
|||
<div id="errorTxt" class="card-body text-form-error"></div>
|
||||
</div>
|
||||
|
||||
{{if .Connections}}
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold text-primary">View and manage connections</h6>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
{{if .Connections}}
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-bordered" id="dataTable" width="100%" cellspacing="0">
|
||||
<thead>
|
||||
|
@ -43,13 +43,13 @@
|
|||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="card mb-4 border-left-info">
|
||||
<div class="card-body">No user connected</div>
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="card mb-4 border-left-info">
|
||||
<div class="card-body">No user connected</div>
|
||||
</div>
|
||||
{{end}}
|
||||
{{end}}
|
||||
|
||||
{{define "dialog"}}
|
||||
|
|
|
@ -58,7 +58,3 @@
|
|||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
|
||||
{{define "extra_js"}}
|
||||
|
||||
{{end}}
|
|
@ -3,19 +3,26 @@
|
|||
{{define "title"}}{{.Title}}{{end}}
|
||||
|
||||
{{define "page_body"}}
|
||||
{{if .LoggedAdmin.Username}}
|
||||
<h1 class="h5 mb-4 text-gray-800">{{.Title}}</h1>
|
||||
{{if .Error}}
|
||||
<div class="card mb-4 border-left-warning">
|
||||
<div class="card-body text-form-error">{{.Error}}</div>
|
||||
</div>
|
||||
{{end}}
|
||||
|
||||
{{if .Success}}
|
||||
<div class="card mb-4 border-left-success">
|
||||
<div class="card-body">{{.Success}}</div>
|
||||
{{if .LoggedAdmin.Username}}
|
||||
<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}}
|
||||
<div class="card mb-4 border-left-warning">
|
||||
<div class="card-body text-form-error">{{.Error}}</div>
|
||||
</div>
|
||||
{{end}}
|
||||
|
||||
{{if .Success}}
|
||||
<div class="card mb-4 border-left-success">
|
||||
<div class="card-body">{{.Success}}</div>
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
{{else}}
|
||||
<div class="row justify-content-center">
|
||||
|
||||
|
@ -48,4 +55,5 @@
|
|||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
|
||||
{{end}}
|
|
@ -4,93 +4,102 @@
|
|||
|
||||
{{define "page_body"}}
|
||||
|
||||
<div class="card mb-4 {{ if .Status.SSH.IsActive}}border-left-success{{else}}border-left-info{{end}}">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">SFTP/SSH server</h5>
|
||||
<p class="card-text">
|
||||
Status: {{ if .Status.SSH.IsActive}}"Started"{{else}}"Stopped"{{end}}
|
||||
{{if .Status.SSH.IsActive}}
|
||||
<br>
|
||||
{{range .Status.SSH.Bindings}}
|
||||
<br>
|
||||
Address: "{{.GetAddress}}" {{if .HasProxy}}Proxy: ON{{end}}
|
||||
<br>
|
||||
{{end}}
|
||||
Accepted commands: "{{.Status.SSH.GetSSHCommandsAsString}}"
|
||||
<br>
|
||||
{{range .Status.SSH.HostKeys}}
|
||||
<br>
|
||||
Host Key: "{{.Path}}"
|
||||
<br>
|
||||
Fingerprint: "{{.Fingerprint}}"
|
||||
<br>
|
||||
{{end}}
|
||||
{{end}}
|
||||
</p>
|
||||
<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>
|
||||
|
||||
<div class="card mb-4 {{ if .Status.FTP.IsActive}}border-left-success{{else}}border-left-info{{end}}">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">FTP server</h5>
|
||||
<p class="card-text">
|
||||
Status: {{ if .Status.FTP.IsActive}}"Started"{{else}}"Stopped"{{end}}
|
||||
{{if .Status.FTP.IsActive}}
|
||||
<br>
|
||||
{{range .Status.FTP.Bindings}}
|
||||
<br>
|
||||
Address: "{{.GetAddress}}" {{if .HasProxy}}Proxy: ON{{end}}
|
||||
<br>
|
||||
TLS: "{{.GetTLSDescription}}"
|
||||
{{if .ForcePassiveIP}}
|
||||
<br>
|
||||
PassiveIP: {{.ForcePassiveIP}}
|
||||
{{end}}
|
||||
<br>
|
||||
{{end}}
|
||||
<br>
|
||||
Passive port range: "{{.Status.FTP.PassivePortRange.Start}}-{{.Status.FTP.PassivePortRange.End}}"
|
||||
{{end}}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-4 {{ if .Status.SSH.IsActive}}border-left-success{{else}}border-left-info{{end}}">
|
||||
<div class="card-body">
|
||||
<h6 class="card-title font-weight-bold">SFTP/SSH server</h6>
|
||||
<p class="card-text">
|
||||
Status: {{ if .Status.SSH.IsActive}}"Started"{{else}}"Stopped"{{end}}
|
||||
{{if .Status.SSH.IsActive}}
|
||||
<br>
|
||||
{{range .Status.SSH.Bindings}}
|
||||
<br>
|
||||
Address: "{{.GetAddress}}" {{if .HasProxy}}Proxy: ON{{end}}
|
||||
<br>
|
||||
{{end}}
|
||||
Accepted commands: "{{.Status.SSH.GetSSHCommandsAsString}}"
|
||||
<br>
|
||||
{{range .Status.SSH.HostKeys}}
|
||||
<br>
|
||||
Host Key: "{{.Path}}"
|
||||
<br>
|
||||
Fingerprint: "{{.Fingerprint}}"
|
||||
<br>
|
||||
{{end}}
|
||||
{{end}}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mb-4 {{ if .Status.WebDAV.IsActive}}border-left-success{{else}}border-left-info{{end}}">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">WebDAV server</h5>
|
||||
<p class="card-text">
|
||||
Status: {{ if .Status.WebDAV.IsActive}}"Started"{{else}}"Stopped"{{end}}
|
||||
{{if .Status.WebDAV.IsActive}}
|
||||
<br>
|
||||
{{range .Status.WebDAV.Bindings}}
|
||||
<br>
|
||||
Address: "{{.GetAddress}}"
|
||||
<br>
|
||||
Protocol: {{if .EnableHTTPS}} HTTPS {{else}} HTTP {{end}}
|
||||
<br>
|
||||
{{end}}
|
||||
{{end}}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-4 {{ if .Status.FTP.IsActive}}border-left-success{{else}}border-left-info{{end}}">
|
||||
<div class="card-body">
|
||||
<h6 class="card-title font-weight-bold">FTP server</h6>
|
||||
<p class="card-text">
|
||||
Status: {{ if .Status.FTP.IsActive}}"Started"{{else}}"Stopped"{{end}}
|
||||
{{if .Status.FTP.IsActive}}
|
||||
<br>
|
||||
{{range .Status.FTP.Bindings}}
|
||||
<br>
|
||||
Address: "{{.GetAddress}}" {{if .HasProxy}}Proxy: ON{{end}}
|
||||
<br>
|
||||
TLS: "{{.GetTLSDescription}}"
|
||||
{{if .ForcePassiveIP}}
|
||||
<br>
|
||||
PassiveIP: {{.ForcePassiveIP}}
|
||||
{{end}}
|
||||
<br>
|
||||
{{end}}
|
||||
<br>
|
||||
Passive port range: "{{.Status.FTP.PassivePortRange.Start}}-{{.Status.FTP.PassivePortRange.End}}"
|
||||
{{end}}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mb-4 {{ if .Status.Defender.IsActive}}border-left-success{{else}}border-left-info{{end}}">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Defender</h5>
|
||||
<p class="card-text">
|
||||
Status: {{ if .Status.Defender.IsActive}}"Enabled"{{else}}"Disabled"{{end}}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-4 {{ if .Status.WebDAV.IsActive}}border-left-success{{else}}border-left-info{{end}}">
|
||||
<div class="card-body">
|
||||
<h6 class="card-title font-weight-bold">WebDAV server</h6>
|
||||
<p class="card-text">
|
||||
Status: {{ if .Status.WebDAV.IsActive}}"Started"{{else}}"Stopped"{{end}}
|
||||
{{if .Status.WebDAV.IsActive}}
|
||||
<br>
|
||||
{{range .Status.WebDAV.Bindings}}
|
||||
<br>
|
||||
Address: "{{.GetAddress}}"
|
||||
<br>
|
||||
Protocol: {{if .EnableHTTPS}} HTTPS {{else}} HTTP {{end}}
|
||||
<br>
|
||||
{{end}}
|
||||
{{end}}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mb-4 {{ if .Status.Defender.IsActive}}border-left-success{{else}}border-left-info{{end}}">
|
||||
<div class="card-body">
|
||||
<h6 class="card-title font-weight-bold">Defender</h6>
|
||||
<p class="card-text">
|
||||
Status: {{ if .Status.Defender.IsActive}}"Enabled"{{else}}"Disabled"{{end}}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="card mb-4 {{ if .Status.DataProvider.IsActive}}border-left-success{{else}}border-left-warning{{end}}">
|
||||
<div class="card-body">
|
||||
<h6 class="card-title font-weight-bold">Data provider</h6>
|
||||
<p class="card-text">
|
||||
Status: {{ if .Status.DataProvider.IsActive}}"OK"{{else}}"{{.Status.DataProvider.Error}}"{{end}}
|
||||
<br>
|
||||
Driver: "{{.Status.DataProvider.Driver}}"
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mb-4 {{ if .Status.DataProvider.IsActive}}border-left-success{{else}}border-left-warning{{end}}">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Data provider</h5>
|
||||
<p class="card-text">
|
||||
Status: {{ if .Status.DataProvider.IsActive}}"OK"{{else}}"{{.Status.DataProvider.Error}}"{{end}}
|
||||
<br>
|
||||
Driver: "{{.Status.DataProvider.Driver}}"
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue