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) {