diff --git a/webadmin/src/views/settings.html b/webadmin/src/views/settings.html index 4aeebb12b..aad6d49fa 100644 --- a/webadmin/src/views/settings.html +++ b/webadmin/src/views/settings.html @@ -265,10 +265,6 @@ Name {{ config.cloudronName }} - - App store account - {{ appstoreConfig.profile.email }} - Model {{ config.size }} - {{ config.region }} @@ -320,6 +316,44 @@ +
+
+

Cloudron.io Account

+
+
+ +
+
+
+ A cloudron.io subscription will provide you with effortless automatic app and platform updates. +
+
+
+
+
+ Account Email +
+ +
+
+
+ Subscription +
+
+ {{ currentSubscription.plan.name }} +
+
+
+
+ +
+
+

Backups

diff --git a/webadmin/src/views/settings.js b/webadmin/src/views/settings.js index 4b651aaed..7f00fb883 100644 --- a/webadmin/src/views/settings.js +++ b/webadmin/src/views/settings.js @@ -1,6 +1,6 @@ 'use strict'; -angular.module('Application').controller('SettingsController', ['$scope', '$location', '$rootScope', 'Client', 'AppStore', function ($scope, $location, $rootScope, Client, AppStore) { +angular.module('Application').controller('SettingsController', ['$scope', '$location', '$rootScope', '$timeout', 'Client', 'AppStore', function ($scope, $location, $rootScope, $timeout, Client, AppStore) { Client.onReady(function () { if (!Client.getUserInfo().admin) $location.path('/'); }); $scope.client = Client; @@ -20,6 +20,8 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca $scope.availablePlans = []; $scope.currentPlan = null; + $scope.currentSubscription = null; + // List is from http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region $scope.s3Regions = [ { name: 'Asia Pacific (Mumbai)', value: 'ap-south-1' }, @@ -500,6 +502,17 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca }); } + function getSubscription() { + AppStore.getSubscription($scope.appstoreConfig, function (error, result) { + if (error) return console.error(error); + + $scope.currentSubscription = result; + + // check again to give more immediate feedback once a subscription was setup + if (result.plan.id === 'free') $timeout(getSubscription, 5000); + }); + } + function getPlans() { AppStore.getSizes(function (error, result) { if (error) return console.error(error); @@ -614,6 +627,8 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca if (error) return console.error(error); $scope.appstoreConfig.profile = result; + + getSubscription(); }); } });