Disable various views for non-operators

This commit is contained in:
Girish Ramakrishnan
2018-09-05 14:37:54 -07:00
parent 97b6e4c672
commit 02f04e2d33
10 changed files with 25 additions and 17 deletions
+1 -1
View File
@@ -608,7 +608,7 @@ angular.module('Application').controller('AppsController', ['$scope', '$location
fetchUsers();
fetchGroups();
getDomains();
if ($scope.user.admin) getBackupConfig(); // FIXME: detect disabled backups some other way
if ($scope.user.admin && $scope.config.features.operatorActions) getBackupConfig(); // FIXME: detect disabled backups some other way
}
var refreshAppsTimer = $interval(Client.refreshInstalledApps.bind(Client), 5000);
+5
View File
@@ -492,6 +492,11 @@ angular.module('Application').controller('AppStoreController', ['$scope', '$loca
return callback();
}
if ($scope.user.admin && !$scope.config.features.operatorActions) {
$scope.validAppstoreAccount = true;
return callback();
}
Client.getAppstoreConfig(function (error, result) {
if (error) return callback(error);
+3 -3
View File
@@ -160,7 +160,7 @@
<span>{{ prettyProviderName(backupConfig.provider) }}</span>
</div>
</div>
<div class="row" ng-show="backupConfig.provider !== 'caas'">
<div class="row" ng-show="backupConfig.provider !== 'caas' && config.features.operatorActions">
<div class="col-xs-6">
<span class="text-muted">Location</span>
</div>
@@ -171,7 +171,7 @@
</div>
</div>
<div class="row">
<div class="row" ng-show="backupConfig.provider !== 'caas' && config.features.operatorActions">
<div class="col-xs-6">
<span class="text-muted">Storage Format</span>
</div>
@@ -227,7 +227,7 @@
</p>
</div>
<div class="col-md-6 text-right">
<button class="btn btn-outline btn-primary pull-right" ng-click="configureBackup.show()" ng-disabled="createBackup.busy" ng-show="backupConfig.provider !== 'caas'">Configure</button>
<button class="btn btn-outline btn-primary pull-right" ng-click="configureBackup.show()" ng-disabled="createBackup.busy" ng-show="backupConfig.provider !== 'caas' && user.admin && config.features.operatorActions">Configure</button>
<button class="btn btn-outline btn-primary" ng-click="createBackup.doCreateBackup()" ng-disabled="createBackup.busy" style="margin-right: 10px">Backup now</button>
</div>
</div>
+5 -3
View File
@@ -4,6 +4,8 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat
Client.onReady(function () { if (!Client.getUserInfo().admin) $location.path('/'); });
$scope.config = Client.getConfig();
$scope.user = Client.getUserInfo();
$scope.backupConfig = {};
$scope.lastBackup = null;
$scope.backups = [];
@@ -64,6 +66,8 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat
];
$scope.prettyProviderName = function (provider) {
if (!$scope.config.features.operatorActions) return $scope.config.provider;
switch (provider) {
case 'caas': return 'Managed Cloudron';
default: return provider;
@@ -316,8 +320,6 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat
// $scope.configureBackup.reset();
$('#configureBackupModal').modal('hide');
// now refresh the ui
Client.refreshConfig();
getBackupConfig();
});
}
@@ -347,7 +349,7 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat
Client.onReady(function () {
fetchBackups();
getBackupConfig();
if ($scope.config.features.operatorActions) getBackupConfig();
// show backup status
$scope.createBackup.updateStatus();
+2 -2
View File
@@ -228,11 +228,11 @@
</div>
</div>
<div class="text-left" ng-show="config.provider !== 'caas'">
<div class="text-left" ng-show="config.provider !== 'caas' && user.admin && config.features.operatorActions">
<h3>Cloudron.io Account</h3>
</div>
<div class="card" style="margin-bottom: 15px;" ng-show="config.provider !== 'caas'">
<div class="card" style="margin-bottom: 15px;" ng-show="config.provider !== 'caas' && user.admin && config.features.operatorActions">
<div class="row">
<div class="col-xs-12">
A Cloudron subscription provides access to the Cloudron App Store. This ensures you are running the latest version and keeps your apps and server secure.
+3 -3
View File
@@ -20,8 +20,8 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca
$scope.prettyProviderName = function (provider) {
switch (provider) {
case 'caas': return 'Managed Cloudron';
default: return provider;
case 'caas': return 'Managed Cloudron';
default: return provider;
}
};
@@ -417,7 +417,7 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca
$scope.currentPlan = caasConfig.plan;
$scope.currency = caasConfig.currency === 'eur' ? '€' : '$';
});
} else {
} else if ($scope.config.features.operatorActions) {
Client.getAppstoreConfig(function (error, appstoreConfig) {
if (error) return console.error(error);
if (!appstoreConfig.token) return;
+1 -1
View File
@@ -1,7 +1,7 @@
'use strict';
angular.module('Application').controller('SupportController', ['$scope', '$location', 'Client', function ($scope, $location, Client) {
Client.onReady(function () { if (!Client.getUserInfo().admin) $location.path('/'); });
Client.onReady(function () { if (!Client.getConfig().operatorActions || !Client.getUserInfo().admin) $location.path('/'); });
$scope.config = Client.getConfig();
$scope.user = Client.getUserInfo();