Fix UI for real license handling
Following this change, the user gets detailed errors and entitlement information
This commit is contained in:
parent
e450b109a2
commit
213cc856e4
9 changed files with 172 additions and 136 deletions
|
@ -1256,24 +1256,52 @@ angular.module("core-config-setup", ['angularFileUpload'])
|
|||
transclude: false,
|
||||
restrict: 'C',
|
||||
scope: {
|
||||
'isValid': '=?isValid',
|
||||
'forSetup': '@forSetup'
|
||||
},
|
||||
controller: function($scope, $element, ApiService, UserService) {
|
||||
$scope.state = 'loading-license';
|
||||
$scope.showingEditor = false;
|
||||
$scope.LicenseStates = {
|
||||
none: 'no-license',
|
||||
loading: 'license-loading',
|
||||
valid: 'license-valid',
|
||||
invalid: 'license-error',
|
||||
validating: 'validating-license'
|
||||
};
|
||||
|
||||
$scope.state = $scope.forSetup == 'true' ? $scope.LicenseStates.none : $scope.LicenseStates.loading;
|
||||
$scope.showingEditor = $scope.forSetup == 'true';
|
||||
$scope.requiredBox = '';
|
||||
|
||||
$scope.requirementTitles = {
|
||||
'software.quay': 'Quay Enterprise',
|
||||
'software.quay.regions': 'Distributed Storage Regions'
|
||||
};
|
||||
|
||||
var handleLicenseSuccess = function(resp) {
|
||||
$scope.state = resp['success'] ? $scope.LicenseStates.valid : $scope.LicenseStates.invalid;
|
||||
$scope.requiredBox = resp['success'] ? 'filled' : '';
|
||||
$scope.showingEditor = !resp['success'];
|
||||
$scope.licenseStatus = resp['status'];
|
||||
$scope.licenseError = null;
|
||||
$scope.isValid = resp['success'];
|
||||
};
|
||||
|
||||
var handleLicenseError = function(resp) {
|
||||
$scope.licenseError = ApiService.getErrorMessage(resp);
|
||||
$scope.licenseStatus = null;
|
||||
$scope.state = 'license-error';
|
||||
$scope.showingEditor = true;
|
||||
$scope.requiredBox = '';
|
||||
$scope.isValid = false;
|
||||
};
|
||||
|
||||
var loadLicense = function() {
|
||||
ApiService.getLicense().then(function(resp) {
|
||||
$scope.state = 'license-valid';
|
||||
$scope.showingEditor = false;
|
||||
$scope.licenseDecoded = resp['decoded'];
|
||||
$scope.requiredBox = 'filled';
|
||||
}, function(resp) {
|
||||
$scope.licenseError = ApiService.getErrorMessage(resp);
|
||||
$scope.state = 'license-error';
|
||||
$scope.showingEditor = true;
|
||||
$scope.requiredBox = '';
|
||||
});
|
||||
if ($scope.forSetup == 'true') {
|
||||
$scope.state = $scope.LicenseStates.none;
|
||||
return;
|
||||
}
|
||||
|
||||
ApiService.getLicense().then(handleLicenseSuccess, handleLicenseError);
|
||||
};
|
||||
|
||||
UserService.updateUserIn($scope, function(user) {
|
||||
|
@ -1293,23 +1321,17 @@ angular.module("core-config-setup", ['angularFileUpload'])
|
|||
$event.preventDefault();
|
||||
$event.stopPropagation();
|
||||
|
||||
$scope.state = 'validating-license';
|
||||
$scope.state = $scope.LicenseStates.validating;
|
||||
|
||||
var data = {
|
||||
'license': $scope.licenseContents
|
||||
};
|
||||
|
||||
ApiService.updateLicense(data).then(function(resp) {
|
||||
$scope.state = 'license-valid';
|
||||
$scope.showingEditor = false;
|
||||
$scope.licenseDecoded = resp['decoded'];
|
||||
$scope.requiredBox = 'filled';
|
||||
}, function(resp) {
|
||||
$scope.licenseError = ApiService.getErrorMessage(resp);
|
||||
$scope.state = 'license-error';
|
||||
$scope.showingEditor = true;
|
||||
$scope.requiredBox = '';
|
||||
});
|
||||
if ($scope.forSetup == 'true') {
|
||||
ApiService.suSetAndValidateLicense(data).then(handleLicenseSuccess, handleLicenseError);
|
||||
} else {
|
||||
ApiService.updateLicense(data).then(handleLicenseSuccess, handleLicenseError);
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
|
|
Reference in a new issue