poll subscription status only when button got clicked
otherwise, both stripe, our appstore db is bombarded
This commit is contained in:
@@ -209,9 +209,9 @@
|
||||
<br/>
|
||||
<div class="row" ng-show="subscription">
|
||||
<div class="col-xs-12">
|
||||
<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>
|
||||
<a class="btn btn-primary pull-right" ng-click="pollSubscriptionStatus()" 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-click="pollSubscriptionStatus()" 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-click="pollSubscriptionStatus()" 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>
|
||||
|
||||
+11
-3
@@ -314,6 +314,15 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca
|
||||
Client.getSubscription(function (error, result) {
|
||||
$scope.subscriptionBusy = false;
|
||||
|
||||
if (error && error.statusCode === 412) return; // not yet registered
|
||||
if (error) return console.error(error);
|
||||
|
||||
$scope.subscription = result;
|
||||
});
|
||||
}
|
||||
|
||||
$scope.pollSubscriptionStatus = function () {
|
||||
Client.getSubscription(function (error, result) {
|
||||
if (error && error.statusCode === 412) return; // not yet registered
|
||||
if (error) return console.error(error);
|
||||
if (!$scope.$parent) return; // user changed view. otherwise we get an error that $scope.$parent is null
|
||||
@@ -323,10 +332,9 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca
|
||||
// also reload the subscription on the main controller
|
||||
$scope.$parent.updateSubscriptionStatus();
|
||||
|
||||
// check again to give more immediate feedback once a subscription was setup
|
||||
if (result.plan.id === 'free') $timeout(getSubscription, 10000);
|
||||
$timeout($scope.pollSubscriptionStatus, 10 * 1000);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
$('#avatarFileInput').get(0).onchange = function (event) {
|
||||
var fr = new FileReader();
|
||||
|
||||
Reference in New Issue
Block a user