diff --git a/dashboard/src/js/main.js b/dashboard/src/js/main.js index 9b5d1709d..615067a5c 100644 --- a/dashboard/src/js/main.js +++ b/dashboard/src/js/main.js @@ -130,6 +130,22 @@ angular.module('Application').controller('MainController', ['$scope', '$route', }); } + $scope.fetchAppstoreProfileAndSubscription = function (callback) { + if (!$scope.appstoreConfig.token) return callback(); + + AppStore.getProfile($scope.appstoreConfig.token, function (error, result) { + if (error) return console.error(error); + + $scope.appstoreConfig.profile = result; + + AppStore.getSubscription($scope.appstoreConfig, function (error, result) { + if (error) return console.error(error); + + $scope.subscription = result; + }); + }); + } + Client.getStatus(function (error, status) { if (error) return $scope.error(error); @@ -188,17 +204,8 @@ angular.module('Application').controller('MainController', ['$scope', '$route', $scope.appstoreConfig = result; - AppStore.getProfile(result.token, function (error, result) { - if (error) return console.error(error); - - $scope.appstoreConfig.profile = result; - - AppStore.getSubscription($scope.appstoreConfig, function (error, result) { - if (error) return console.error(error); - - $scope.subscription = result; - $scope.ready = true; - }); + $scope.fetchAppstoreProfileAndSubscription(function () { + $scope.ready = true; }); }); } diff --git a/dashboard/src/views/settings.js b/dashboard/src/views/settings.js index 8b44ef3f6..182ba8600 100644 --- a/dashboard/src/views/settings.js +++ b/dashboard/src/views/settings.js @@ -602,6 +602,9 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca $scope.subscription = result; + // also reload the subscription on the main controller + $scope.$parent.fetchAppstoreProfileAndSubscription(function () {}); + // check again to give more immediate feedback once a subscription was setup if (result.plan.id === 'free') $timeout(getSubscription, 10000); });