Give error response if aws accessKeyId is unknown

This commit is contained in:
Johannes Zellner
2016-10-11 14:07:36 +02:00
parent e614b930a5
commit c1fc2ce095
2 changed files with 24 additions and 14 deletions

View File

@@ -121,25 +121,25 @@
<div class="modal-body">
<form name="configureBackupForm" role="form" novalidate ng-submit="configureBackup.submit()" autocomplete="off">
<fieldset>
<p class="has-error text-center" ng-show="configureBackup.error">{{ configureBackup.error.name }}</p>
<p class="has-error text-center" ng-show="configureBackup.error">{{ configureBackup.error.generic }}</p>
<!-- S3 -->
<div class="form-group" ng-class="{ 'has-error': false }">
<div class="form-group" ng-class="{ 'has-error': configureBackup.error.bucket }">
<label class="control-label" for="inputConfigureBackupBucket">Bucket name</label>
<input type="text" class="form-control" ng-model="configureBackup.bucket" id="inputConfigureBackupBucket" name="bucket" ng-disabled="configureBackup.busy" required autofocus>
</div>
<div class="form-group" ng-class="{ 'has-error': false }">
<div class="form-group" ng-class="{ 'has-error': configureBackup.error.prefix }">
<label class="control-label" for="inputConfigureBackupPrefix">Prefix</label>
<input type="text" class="form-control" ng-model="configureBackup.prefix" id="inputConfigureBackupPrefix" name="prefix" ng-disabled="configureBackup.busy" required>
</div>
<div class="form-group" ng-class="{ 'has-error': false }">
<div class="form-group" ng-class="{ 'has-error': configureBackup.error.accessKeyId }">
<label class="control-label" for="inputConfigureBackupAccessKeyId">Access Key Id</label>
<input type="text" class="form-control" ng-model="configureBackup.accessKeyId" id="inputConfigureBackupAccessKeyId" name="accessKeyId" ng-disabled="configureBackup.busy" required>
</div>
<div class="form-group" ng-class="{ 'has-error': false }">
<div class="form-group" ng-class="{ 'has-error': configureBackup.error.secretAccessKey }">
<label class="control-label" for="inputConfigureBackupSecretAccessKey">Secret Access Key</label>
<input type="text" class="form-control" ng-model="configureBackup.secretAccessKey" id="inputConfigureBackupSecretAccessKey" name="secretAccessKey" ng-disabled="configureBackup.busy" required>
</div>

View File

@@ -259,6 +259,9 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca
secretAccessKey: '',
show: function () {
$scope.configureBackup.error = {};
$scope.configureBackup.busy = false;
$scope.configureBackup.bucket = $scope.backupConfig.bucket;
$scope.configureBackup.prefix = $scope.backupConfig.prefix;
$scope.configureBackup.accessKeyId = $scope.backupConfig.accessKeyId;
@@ -268,7 +271,7 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca
},
submit: function () {
$scope.configureBackup.error.name = null;
$scope.configureBackup.error = {};
$scope.configureBackup.busy = true;
var backupConfig = {
@@ -283,19 +286,26 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca
$scope.configureBackup.busy = false;
if (error) {
if (error.statusCode === 400) {
$scope.cloudronNameChange.error.name = 'Invalid name';
$scope.cloudronNameChange.name = '';
$('#inputCloudronName').focus();
$scope.cloudronNameChangeForm.password.$setPristine();
if (error.statusCode === 402) {
$scope.configureBackup.error.generic = error.message;
if (error.message.indexOf('AWS Access Key Id') !== -1) {
$scope.configureBackup.error.accessKeyId = true;
$scope.configureBackup.accessKeyId = '';
$scope.configureBackupForm.accessKeyId.$setPristine();
$('#inputConfigureBackupAccessKeyId').focus();
} else {
$('#inputConfigureBackupBucket').focus();
}
} else {
console.error('Unable to change name.', error);
return;
}
return;
}
$scope.cloudronNameChange.reset();
$('#cloudronNameChangeModal').modal('hide');
// $scope.configureBackup.reset();
$('#configureBackupModal').modal('hide');
Client.refreshConfig();
});