Fix error state handling

Do not disable views in error state. Many actions like display work just fine.
Also, people want to restore etc but all this is disabled.
This commit is contained in:
Girish Ramakrishnan
2019-12-20 17:05:45 -08:00
parent da191d62cc
commit 24d1c2d63a
2 changed files with 40 additions and 29 deletions

View File

@@ -315,14 +315,14 @@
<div class="row app-configure-links-container">
<div class="col-sm-2">
<div class="app-configure-links">
<div ng-click="setView('display')" ng-class="{ 'active': view === 'display', 'disabled': app.error }">Display</div>
<div ng-click="setView('location')" ng-class="{ 'active': view === 'location', 'disabled': app.error }">Location</div>
<div ng-click="setView('access')" ng-class="{ 'active': view === 'access', 'disabled': app.error }">Access Control</div>
<div ng-click="setView('resources')" ng-class="{ 'active': view === 'resources', 'disabled': app.error }">Resources</div>
<div ng-click="setView('security')" ng-class="{ 'active': view === 'security', 'disabled': app.error }">Security</div>
<div ng-click="setView('email')" ng-class="{ 'active': view === 'email', 'disabled': app.error }" ng-show="app.manifest.addons.sendmail || app.manifest.addons.recvmail">Email</div>
<div ng-click="setView('updates')" ng-class="{ 'active': view === 'updates', 'disabled': app.error }">Updates</div>
<div ng-click="setView('backups')" ng-class="{ 'active': view === 'backups', 'disabled': app.error }">Backups</div>
<div ng-click="setView('display')" ng-class="{ 'active': view === 'display' }">Display</div>
<div ng-click="setView('location')" ng-class="{ 'active': view === 'location' }">Location</div>
<div ng-click="setView('access')" ng-class="{ 'active': view === 'access' }">Access Control</div>
<div ng-click="setView('resources')" ng-class="{ 'active': view === 'resources' }">Resources</div>
<div ng-click="setView('security')" ng-class="{ 'active': view === 'security' }">Security</div>
<div ng-click="setView('email')" ng-class="{ 'active': view === 'email' }" ng-show="app.manifest.addons.sendmail || app.manifest.addons.recvmail">Email</div>
<div ng-click="setView('updates')" ng-class="{ 'active': view === 'updates' }">Updates</div>
<div ng-click="setView('backups')" ng-class="{ 'active': view === 'backups' }">Backups</div>
<div ng-click="setView('console')" ng-class="{ 'active': view === 'console' }">Console</div>
<div ng-click="setView('repair')" ng-class="{ 'active': view === 'repair' }">Repair</div>
<div ng-click="setView('uninstall')" ng-class="{ 'active': view === 'uninstall' }">Uninstall</div>
@@ -456,7 +456,9 @@
</div>
<div class="row">
<div class="col-md-12 text-right">
<button class="btn btn-outline btn-primary pull-right" ng-click="location.submit()" ng-disabled="location.$invalid || location.busy"><i class="fa fa-circle-notch fa-spin" ng-show="location.busy"></i> Save</button>
<button class="btn btn-outline btn-primary pull-right" ng-click="location.submit()" ng-disabled="location.$invalid || location.busy || app.error" tooltip-enable="app.error" uib-tooltip="App is in error state">
<i class="fa fa-circle-notch fa-spin" ng-show="location.busy"></i> Save
</button>
</div>
</div>
</div>
@@ -554,7 +556,9 @@
</div>
<div class="row">
<div class="col-md-12 text-right">
<button class="btn btn-outline btn-primary pull-right" ng-click="resources.submitMemoryLimit()" ng-disabled="resources.memoryLimit === resources.currentMemoryLimit || resourcesForm.$invalid || resources.busy"><i class="fa fa-circle-notch fa-spin" ng-show="resources.busy"></i> Resize</button>
<button class="btn btn-outline btn-primary pull-right" ng-click="resources.submitMemoryLimit()" ng-disabled="resources.memoryLimit === resources.currentMemoryLimit || resourcesForm.$invalid || resources.busy || app.error" tooltip-enable="app.error" uib-tooltip="App is in error state">
<i class="fa fa-circle-notch fa-spin" ng-show="resources.busy"></i> Resize
</button>
</div>
</div>
<hr/>
@@ -579,7 +583,9 @@
</div>
<div class="row">
<div class="col-md-12 text-right">
<button class="btn btn-outline btn-primary pull-right" ng-click="resources.submitDataDir()" ng-disabled="!resourcesDataDirForm.$dirty || resourcesDataDirForm.$invalid || resources.busyDataDir"><i class="fa fa-circle-notch fa-spin" ng-show="resources.busyDataDir"></i> Move Data</button>
<button class="btn btn-outline btn-primary pull-right" ng-click="resources.submitDataDir()" ng-disabled="!resourcesDataDirForm.$dirty || resourcesDataDirForm.$invalid || resources.busyDataDir || app.error" tooltip-enable="app.error" uib-tooltip="App is in error state">
<i class="fa fa-circle-notch fa-spin" ng-show="resources.busyDataDir"></i> Move Data
</button>
</div>
</div>
</div>
@@ -621,7 +627,9 @@
</div>
<div class="row">
<div class="col-md-12 text-right">
<button class="btn btn-outline btn-primary pull-right" ng-click="email.submit()" ng-disabled="!emailForm.$dirty || email.busy"><i class="fa fa-circle-notch fa-spin" ng-show="email.busy"></i> Save</button>
<button class="btn btn-outline btn-primary pull-right" ng-click="email.submit()" ng-disabled="!emailForm.$dirty || email.busy || app.error" tooltip-enable="app.error" uib-tooltip="App is in error state">
<i class="fa fa-circle-notch fa-spin" ng-show="email.busy"></i> Save
</button>
</div>
</div>
</div>
@@ -650,7 +658,9 @@
<br/>
<div class="row">
<div class="col-md-12 text-right">
<button class="btn btn-outline btn-primary pull-right" ng-click="security.submit()" ng-disabled="security.$invalid || security.busy"><i class="fa fa-circle-notch fa-spin" ng-show="security.busy"></i> Save</button>
<button class="btn btn-outline btn-primary pull-right" ng-click="security.submit()" ng-disabled="security.$invalid || security.busy || app.error" tooltip-enable="app.error" uib-tooltip="App is in error state">
<i class="fa fa-circle-notch fa-spin" ng-show="security.busy"></i> Save
</button>
</div>
</div>
</div>
@@ -663,7 +673,9 @@
<p ng-show="!app.appStoreId">This app is running <code>{{ app.manifest.dockerImage }}</code> (Package v{{ app.manifest.version }}) and was last updated <code>{{ app.updateTime | prettyDate }}</code>.</p>
<br/>
<button class="btn btn-primary pull-right" uib-tooltip="{{ app.appStoreId ? '' : 'Not available for custom apps' }}" ng-disabled="!app.appStoreId" ng-click="updates.check()" ng-hide="config.update.apps[app.id].manifest.version && config.update.apps[app.id].manifest.version !== app.manifest.version" ng-disabled="updates.busyCheck"><i class="fa fa-circle-notch fa-spin" ng-show="updates.busyCheck"></i> Check for Updates</button>
<button class="btn btn-success pull-right" ng-click="updates.askUpdate()" ng-show="app.installationState !== 'pending_update' && config.update.apps[app.id].manifest.version && config.update.apps[app.id].manifest.version !== app.manifest.version" ng-disabled="app.taskId || !(app | installSuccess)">Update Available</button>
<button class="btn btn-success pull-right" ng-click="updates.askUpdate()" ng-show="app.installationState !== 'pending_update' && config.update.apps[app.id].manifest.version && config.update.apps[app.id].manifest.version !== app.manifest.version" ng-disabled="app.taskId || app.error" tooltip-enable="app.error" uib-tooltip="App is in error state">
Update Available
</button>
</div>
</div>
<hr/>
@@ -683,7 +695,9 @@
<label class="control-label">Backups</label>
<div>
<button type="button" class="btn btn-primary pull-right" ng-click="backups.createBackup()" ng-disabled="app.taskId || backups.busyCreate"><i class="fa fa-circle-notch fa-spin" ng-show="app.installationState === 'pending_backup' || backups.busyCreate"></i> Create Backup</button>
<button type="button" class="btn btn-primary pull-right" ng-click="backups.createBackup()" ng-disabled="app.taskId || backups.busyCreate || app.error" tooltip-enable="app.error" uib-tooltip="App is in error state">
<i class="fa fa-circle-notch fa-spin" ng-show="app.installationState === 'pending_backup' || backups.busyCreate"></i> Create Backup
</button>
<span>Backups are complete snapshots of the app. You can use app backups to restore or clone this app.</span>
</div>