From df42a65504e72ec1f85e4809d35a3bd45eae2a05 Mon Sep 17 00:00:00 2001 From: John Mitchell Date: Tue, 7 Aug 2018 15:52:09 -0400 Subject: [PATCH] use post response if config get request erroneously doesnt have license_info --- awx/ui/client/src/license/license.controller.js | 4 ++-- awx/ui/client/src/shared/config/config.service.js | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/awx/ui/client/src/license/license.controller.js b/awx/ui/client/src/license/license.controller.js index 4689af657c..39e211c4f5 100644 --- a/awx/ui/client/src/license/license.controller.js +++ b/awx/ui/client/src/license/license.controller.js @@ -98,11 +98,11 @@ export default $scope.submit = function() { Wait('start'); CheckLicense.post($scope.newLicense.file, $scope.newLicense.eula) - .then(() => { + .then((licenseInfo) => { reset(); ConfigService.delete(); - ConfigService.getConfig() + ConfigService.getConfig(licenseInfo) .then(function(config) { delete($rootScope.features); FeaturesService.get(); diff --git a/awx/ui/client/src/shared/config/config.service.js b/awx/ui/client/src/shared/config/config.service.js index edf476cc35..910e89c9e4 100644 --- a/awx/ui/client/src/shared/config/config.service.js +++ b/awx/ui/client/src/shared/config/config.service.js @@ -21,7 +21,7 @@ export default delete(this.config); }, - getConfig: function () { + getConfig: function (licenseInfo) { var config = this.get(), that = this, deferred = $q.defer(); @@ -31,6 +31,11 @@ export default Wait('start'); var promise = Rest.get(); promise.then(function (response) { + // if applicable, use the license POSTs response if the config GET request is not returned due to a + // cluster cache update race condition + if (_.isEmpty(response.data.license_info) && !_.isEmpty(licenseInfo)) { + response.data.license_info = licenseInfo; + } var config = response.data; $rootScope.configReady = true; Wait('stop');