diff --git a/webadmin/src/index.html b/webadmin/src/index.html index 81cd8ac77..5e74c5186 100644 --- a/webadmin/src/index.html +++ b/webadmin/src/index.html @@ -150,6 +150,52 @@ + + +
diff --git a/webadmin/src/js/main.js b/webadmin/src/js/main.js index de979a851..5aee35068 100644 --- a/webadmin/src/js/main.js +++ b/webadmin/src/js/main.js @@ -101,6 +101,63 @@ angular.module('Application').controller('MainController', ['$scope', '$route', }); }; + $scope.appstoreLogin = { + busy: false, + error: {}, + email: '', + password: '', + + reset: function () { + $scope.appstoreLogin.busy = false; + $scope.appstoreLogin.error = {}; + $scope.appstoreLogin.email = ''; + $scope.appstoreLogin.password = ''; + + $scope.appstoreLoginForm.$setUntouched(); + $scope.appstoreLoginForm.$setPristine(); + }, + + show: function () { + $scope.appstoreLogin.reset(); + $('#appstoreLoginModal').modal('show'); + }, + + submit: function () { + $scope.appstoreLogin.error = {}; + $scope.appstoreLogin.busy = true; + + AppStore.login($scope.appstoreLogin.email, $scope.appstoreLogin.password, function (error, result) { + + if (error) { + $scope.appstoreLogin.busy = false; + + if (error.statusCode === 403) { + $scope.appstoreLogin.error.password = 'Wrong email or password'; + $scope.appstoreLogin.password = ''; + $('#inputAppstoreLoginPassword').focus(); + $scope.appstoreLoginForm.password.$setPristine(); + } else { + console.error(error); + } + + return; + } + + var config = { + userId: result.userId, + token: result.accessToken + }; + + Client.setAppstoreConfig(config, function (error) { + if (error) return console.error(error); + + $scope.appstoreLogin.reset(); + $('#appstoreLoginModal').modal('hide'); + }); + }); + } + }; + Client.getStatus(function (error, status) { if (error) return $scope.error(error); @@ -236,10 +293,10 @@ angular.module('Application').controller('MainController', ['$scope', '$route', } }); - Client.onRead(checkAppstoreAccount); + Client.onReady(checkAppstoreAccount); // setup all the dialog focus handling - ['updateModal'].forEach(function (id) { + ['updateModal', 'appstoreLoginModal'].forEach(function (id) { $('#' + id).on('shown.bs.modal', function () { $(this).find("[autofocus]:first").focus(); }); diff --git a/webadmin/src/views/settings.html b/webadmin/src/views/settings.html index b4904c701..6211b3f64 100644 --- a/webadmin/src/views/settings.html +++ b/webadmin/src/views/settings.html @@ -111,52 +111,6 @@
- - -
@@ -184,6 +138,10 @@ Name {{ config.cloudronName }} + + Appstore Account + {{ appstoreConfig.profile.email }} + Model {{ config.size }} - {{ config.region }} @@ -197,23 +155,6 @@
-
-
-

Appstore Account (cloudron.io)

-
-
- -
-
-
- -
-
- This Cloudron is using {{ appstoreConfig.profile.email }}. -
-
-
-

Plans

diff --git a/webadmin/src/views/settings.js b/webadmin/src/views/settings.js index 61c158e9a..217cca55f 100644 --- a/webadmin/src/views/settings.js +++ b/webadmin/src/views/settings.js @@ -310,63 +310,6 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca fr.readAsDataURL(event.target.files[0]); }; - $scope.appstoreLogin = { - busy: false, - error: {}, - email: '', - password: '', - - reset: function () { - $scope.appstoreLogin.busy = false; - $scope.appstoreLogin.error = {}; - $scope.appstoreLogin.email = ''; - $scope.appstoreLogin.password = ''; - - $scope.appstoreLoginForm.$setUntouched(); - $scope.appstoreLoginForm.$setPristine(); - }, - - show: function () { - $scope.appstoreLogin.reset(); - $('#appstoreLoginModal').modal('show'); - }, - - submit: function () { - $scope.appstoreLogin.error = {}; - $scope.appstoreLogin.busy = true; - - AppStore.login($scope.appstoreLogin.email, $scope.appstoreLogin.password, function (error, result) { - - if (error) { - $scope.appstoreLogin.busy = false; - - if (error.statusCode === 403) { - $scope.appstoreLogin.error.password = 'Wrong email or password'; - $scope.appstoreLogin.password = ''; - $('#inputAppstoreLoginPassword').focus(); - $scope.appstoreLoginForm.password.$setPristine(); - } else { - console.error(error); - } - - return; - } - - var config = { - userId: result.userId, - token: result.accessToken - }; - - Client.setAppstoreConfig(config, function (error) { - if (error) return console.error(error); - - $scope.appstoreLogin.reset(); - $('#appstoreLoginModal').modal('hide'); - }); - }); - } - }; - $scope.cloudronNameChange = { busy: false, error: {},