diff --git a/src/views/appstore.html b/src/views/appstore.html index 236edae77..b8465d4b7 100644 --- a/src/views/appstore.html +++ b/src/views/appstore.html @@ -147,8 +147,8 @@

This Cloudron is running low on resources.

Please upgrade to a server instance with more memory. Alternately, free up resources by uninstalling unused applications.

-
- +
+
diff --git a/src/views/appstore.js b/src/views/appstore.js index d697684ca..a73880ede 100644 --- a/src/views/appstore.js +++ b/src/views/appstore.js @@ -39,6 +39,7 @@ angular.module('Application').controller('AppStoreController', ['$scope', '$loca $scope.appInstall = { busy: false, state: 'appInfo', + subscriptionHelperPage: '', error: {}, app: {}, location: '', @@ -67,6 +68,7 @@ angular.module('Application').controller('AppStoreController', ['$scope', '$loca $scope.appInstall.domain = null; $scope.appInstall.portBindings = {}; $scope.appInstall.state = 'appInfo'; + $scope.appInstall.subscriptionHelperPage = ''; $scope.appInstall.mediaLinks = []; $scope.appInstall.certificateFile = null; $scope.appInstall.certificateFileName = ''; @@ -80,7 +82,7 @@ angular.module('Application').controller('AppStoreController', ['$scope', '$loca $('#collapseInstallForm').collapse('hide'); $('#collapseResourceConstraint').collapse('hide'); - $('#collapseAppLimitReached').collapse('hide'); + $('#collapseSubscriptionRequired').collapse('hide'); $('#collapseMediaLinksCarousel').collapse('show'); if ($scope.appInstallForm) { @@ -174,12 +176,18 @@ angular.module('Application').controller('AppStoreController', ['$scope', '$loca Client.installApp($scope.appInstall.app.id, $scope.appInstall.app.manifest, $scope.appInstall.app.title, data, function (error, newAppId) { if (error) { if (error.statusCode === 402) { - $scope.appInstall.state = 'appLimitReached'; + $scope.appInstall.state = 'subscriptionRequired'; $scope.appInstall.subscriptionErrorMesssage = error.message; $('#collapseMediaLinksCarousel').collapse('hide'); $('#collapseResourceConstraint').collapse('hide'); $('#collapseInstallForm').collapse('hide'); - $('#collapseAppLimitReached').collapse('show'); + $('#collapseSubscriptionRequired').collapse('show'); + + if (error.message.indexOf('Upgrade to the premium') === 0) { + $scope.appInstall.subscriptionHelperPage = 'premium_app.html'; + } else { + $scope.appInstall.subscriptionHelperPage = 'app_install_subscription_expired.html'; + } } else if (error.statusCode === 409 && (error.message.indexOf('Port') !== -1)) { $scope.appInstall.error.port = error.message; } else if (error.statusCode === 409 && error.message.indexOf('subdomain') !== -1) {