67 lines
3.6 KiB
Plaintext
67 lines
3.6 KiB
Plaintext
.grid
|
|
.panel.panel-default
|
|
p.page-title
|
|
i.fa.fa-refresh(style="color: #e25440;")
|
|
| Update
|
|
.grid
|
|
.panel.panel-default
|
|
.panel-heading.panel-title
|
|
i.fa.fa-globe(style="color: #e25440;")
|
|
| Status
|
|
.panel-body
|
|
p(ng-if = '!ctrl.updater.state')
|
|
a.btn.btn-warning: i.fa.fa-question-circle(ng-if = '!ctrl.updater.state', tooltip = 'No update information available')
|
|
| No update information available
|
|
.form-group(ng-if = 'ctrl.updater.state && ctrl.updater.state === "registerNeeded"')
|
|
a.btn.btn-warning(ng-if = 'ctrl.updater.state === "registerNeeded"'): i.fa.fa-bell-slash(tooltip = 'Your XOA is not registered for updates')
|
|
| Register needed
|
|
.form-group(ng-if = 'ctrl.updater.state && ctrl.updater.state !== "registerNeeded"')
|
|
a.btn.btn-info(ng-if = 'ctrl.updater.state === "connected"'): i.fa.fa-question-circle(tooltip = 'Update information may be available')
|
|
a.btn.btn-success(ng-if = 'ctrl.updater.state === "upToDate"'): i.fa.fa-check(tooltip = 'Your XOA is up-to-date (*.*)')
|
|
a.btn.btn-primary(ng-if = 'ctrl.updater.state === "upgradeNeeded"'): i.fa.fa-bell(tooltip = 'You need to update your XOA (new version *.* is available)')
|
|
a.btn.btn-danger(ng-if = 'ctrl.updater.state === "error"'): i.fa.fa-exclamation-triangle(tooltip = 'Can\'t fetch update information')
|
|
|
|
|
button.btn.btn-info(type = 'button', ng-click = 'ctrl.updater.verify()')
|
|
| Check for updates
|
|
i.fa.fa-refresh
|
|
|
|
|
button.btn.btn-primary(ng-if = 'ctrl.updater.state === "upgradeNeeded"', type = 'button', ng-click = 'ctrl.updater.update()')
|
|
| Upgrade
|
|
i.fa.fa-cogs
|
|
div
|
|
p(ng-repeat = 'entry in ctrl.updater._log')
|
|
strong(ng-class = '{"text-danger": entry.level === "error", "text-muted": entry.level === "info", "text-warning": entry.level === "warning", "text-success": entry.level === "success"}') {{ entry.date }}
|
|
| :
|
|
span(ng-bind-html = 'entry.message | ansitohtml')
|
|
|
|
.panel.panel-default
|
|
.panel-heading.panel-title
|
|
i.fa.fa-star(style="color: #e25440;")
|
|
| Registration
|
|
.panel-body.text-center
|
|
//- p {{ ctrl.register.state }} {{ ctrl.register.state === "error" }}
|
|
.text-warning(ng-if = 'ctrl.register.state === "unknown"') No registration information available.
|
|
div(ng-if = 'ctrl.register.state === "error"')
|
|
.text-danger Can't fetch registration information.
|
|
br
|
|
.text-danger {{ ctrl.register.error }}
|
|
br
|
|
button.btn.btn-default(type = 'button', ng-click = 'ctrl.register.isRegistered()')
|
|
| Refresh
|
|
i.fa.fa-refresh
|
|
form(ng-if = 'ctrl.register.state === "unregistered"', ng-submit = 'ctrl.registerXoa(ctrl.regEmail, ctrl.regPwd)')
|
|
p.form-static-control Your Xen Orchestra appliance is not registered.
|
|
.form-group
|
|
label.sr-only(for = 'regEmail') Email
|
|
input#regEmail.form-control(type = 'email', placeholder = 'Email', ng-model = 'ctrl.regEmail', required)
|
|
.form-group
|
|
label.sr-only(for = 'regPwd') Email
|
|
input#regPwd.form-control(type = 'password', placeholder = 'Password', ng-model = 'ctrl.regPwd', required)
|
|
.form-group
|
|
button.btn.btn-primary(type = 'submit') Register
|
|
p.form-static-control.text-danger {{ ctrl.register.error }}
|
|
p(ng-if = 'ctrl.register.state === "registered"')
|
|
| Your Xen Orchestra appliance is registered to
|
|
span.text-primary {{ ctrl.register.token.registrationEmail }}
|
|
| .
|