Only allow debug and uninstall views on app error

This commit is contained in:
Johannes Zellner
2019-09-22 12:10:44 +02:00
parent 25f9e7829f
commit a27e94f694
3 changed files with 20 additions and 8 deletions

View File

@@ -534,6 +534,13 @@ multiselect {
color: $navbar-default-link-color;
box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.1);
}
&.disabled {
color: gray;
background-color: transparent !important;
box-shadow: none !important;
cursor: not-allowed;
}
}
}

View File

@@ -251,14 +251,14 @@
<div class="row">
<div class="col-md-2">
<div class="app-configure-links">
<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('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('debug')" ng-class="{ 'active': view === 'debug' }">Debug</div>
<div ng-click="setView('uninstall')" ng-class="{ 'active': view === 'uninstall' }">Uninstall</div>
</div>

View File

@@ -66,6 +66,9 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
$scope.setView = function (view) {
if ($scope.view === view) return;
// on error only allow uninstall or debug view
if ($scope.app.error && view !== 'uninstall') view = 'debug';
$route.updateParams({ view: view });
$scope[view].show();
$scope.view = view;
@@ -889,6 +892,8 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
$scope.app = app;
console.log(app.installationState, app.error);
$scope.setView($routeParams.view || 'display');
// track on page load backup if active