Use new subscription API in settings controller

This commit is contained in:
Girish Ramakrishnan
2019-05-04 21:26:50 -07:00
parent fec82d127e
commit 8e08ac2ce1
2 changed files with 8 additions and 22 deletions
+5 -5
View File
@@ -165,7 +165,7 @@
<span class="text-muted">Account Email</span>
</div>
<div class="col-xs-6 text-right">
<a ng-href="{{ config.webServerOrigin + '/console.html#/userprofile?email=' + appstoreConfig.profile.emailEncoded }}" target="_blank">{{ appstoreConfig.profile.email }}</a>
<a ng-href="{{ config.webServerOrigin + '/console.html#/userprofile?email=' + subscription.emailEncoded }}" target="_blank">{{ subscription.email }}</a>
</div>
</div>
<div class="row">
@@ -173,7 +173,7 @@
<span class="text-muted">Cloudron ID</span>
</div>
<div class="col-xs-6 text-right">
<span>{{ appstoreConfig.cloudronId }}</span>
<span>{{ subscription.cloudronId }}</span>
</div>
</div>
<div class="row">
@@ -192,9 +192,9 @@
<br/>
<div class="row">
<div class="col-xs-12" ng-show="subscription">
<a class="btn btn-primary pull-right" ng-href="{{ config.webServerOrigin + '/console.html#/userprofile?view=subscriptions&email=' + appstoreConfig.profile.emailEncoded + '&cloudronId=' + appstoreConfig.cloudronId }}" target="_blank" ng-show="subscription.plan.id !== 'free' && !subscription.cancel_at">Change Subscription</a>
<a class="btn btn-success pull-right" ng-href="{{ config.webServerOrigin + '/console.html#/userprofile?view=subscriptions&email=' + appstoreConfig.profile.emailEncoded }}" target="_blank" ng-show="subscription.plan.id !== 'free' && subscription.cancel_at">Reactivate Subscription</a>
<a class="btn btn-success pull-right" ng-href="{{ config.webServerOrigin + '/console.html#/userprofile?view=subscriptions&email=' + appstoreConfig.profile.emailEncoded + '&cloudronId=' + appstoreConfig.cloudronId }}" target="_blank" ng-show="subscription.plan.id === 'free'">Setup Subscription</a>
<a class="btn btn-primary pull-right" ng-href="{{ config.webServerOrigin + '/console.html#/userprofile?view=subscriptions&email=' + subscription.emailEncoded + '&cloudronId=' + subscription.cloudronId }}" target="_blank" ng-show="subscription.plan.id !== 'free' && !subscription.cancel_at">Change Subscription</a>
<a class="btn btn-success pull-right" ng-href="{{ config.webServerOrigin + '/console.html#/userprofile?view=subscriptions&email=' + subscription.emailEncoded }}" target="_blank" ng-show="subscription.plan.id !== 'free' && subscription.cancel_at">Reactivate Subscription</a>
<a class="btn btn-success pull-right" ng-href="{{ config.webServerOrigin + '/console.html#/userprofile?view=subscriptions&email=' + subscription.emailEncoded + '&cloudronId=' + subscription.cloudronId }}" target="_blank" ng-show="subscription.plan.id === 'free'">Setup Subscription</a>
</div>
</div>
</div>
+3 -17
View File
@@ -9,7 +9,6 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca
$scope.client = Client;
$scope.user = Client.getUserInfo();
$scope.config = Client.getConfig();
$scope.appstoreConfig = {};
$scope.installedApps = Client.getInstalledApps();
$scope.subscription = null;
@@ -308,14 +307,14 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca
}
function getSubscription() {
AppStore.getSubscription($scope.appstoreConfig, function (error, result) {
Client.getSubscription(function (error, result) {
if (error) return console.error(error);
if (!$scope.$parent) return; // user changed view. otherwise we get an error that $scope.$parent is null
$scope.subscription = result;
// also reload the subscription on the main controller
$scope.$parent.fetchAppstoreProfileAndSubscription(function () {});
$scope.$parent.updateSubscriptionStatus(function () {});
// check again to give more immediate feedback once a subscription was setup
if (result.plan.id === 'free') $timeout(getSubscription, 10000);
@@ -418,20 +417,7 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca
$scope.update.checkStatus();
if (!$scope.config.managed) {
Client.getAppstoreConfig(function (error, appstoreConfig) {
if (error) return console.error(error);
if (!appstoreConfig.token) return;
AppStore.getProfile(appstoreConfig.token, function (error, result) {
if (error) return console.error(error);
// assign late to avoid UI flicketing on update
appstoreConfig.profile = result;
$scope.appstoreConfig = appstoreConfig;
getSubscription();
});
});
getSubscription();
}
});