Cloudron Store
Applications can be installed from this screen onto you Cloudron.
Each app is installed on its own subdomain.
Access control may be applied to each application individually.
-
-
+
+
+
Users and Groups
The Cloudron comes with a built-in user and group managment.
Most apps are single sign-on integrated.
Just use your Cloudron account to log into them.
-
-
+
+
-
+
That's it!
This interface will always be available for you at this domain.
You might want to bookmark this page so you can find it later again.
-
-
+
+
diff --git a/webadmin/src/js/main.js b/webadmin/src/js/main.js
index 4092d3344..e5733e77c 100644
--- a/webadmin/src/js/main.js
+++ b/webadmin/src/js/main.js
@@ -7,8 +7,8 @@ angular.module('Application').controller('MainController', ['$scope', '$route',
$scope.config = {};
$scope.client = Client;
- $scope.welcomeStep = -1;
- $scope.welcomeSteps = [
+ $scope.tutorialStep = -1;
+ $scope.tutorialSteps = [
{ title: 'intro', page: '#/apps' },
{ title: 'apps', page: '#/apps' },
{ title: 'appstore', page: '#/appstore' },
@@ -17,30 +17,30 @@ angular.module('Application').controller('MainController', ['$scope', '$route',
];
$scope.startTutorial = function () {
- $scope.welcomeStep = 0;
- if ($scope.welcomeSteps[$scope.welcomeStep]) window.location.href = $scope.welcomeSteps[$scope.welcomeStep].page;
+ $scope.tutorialStep = 0;
+ if ($scope.tutorialSteps[$scope.tutorialStep]) window.location.href = $scope.tutorialSteps[$scope.tutorialStep].page;
};
$scope.endTutorial = function () {
- $scope.welcomeStep = -1;
+ $scope.tutorialStep = -1;
Client.setShowTutorial(false, function (error) {
if (error) console.error(error);
});
};
- $scope.nextWelcomeStep = function () {
- $scope.welcomeStep += 1;
+ $scope.nextTutorialStep = function () {
+ $scope.tutorialStep += 1;
- if ($scope.welcomeSteps[$scope.welcomeStep]) window.location.href = $scope.welcomeSteps[$scope.welcomeStep].page;
+ if ($scope.tutorialSteps[$scope.tutorialStep]) window.location.href = $scope.tutorialSteps[$scope.tutorialStep].page;
- if ($scope.welcomeStep >= $scope.welcomeSteps.length) $scope.endTutorial();
+ if ($scope.tutorialStep >= $scope.tutorialSteps.length) $scope.endTutorial();
};
- $scope.prevWelcomeStep = function () {
- $scope.welcomeStep -= 1;
+ $scope.prevTutorialStep = function () {
+ $scope.tutorialStep -= 1;
- if ($scope.welcomeSteps[$scope.welcomeStep]) window.location.href = $scope.welcomeSteps[$scope.welcomeStep].page;
+ if ($scope.tutorialSteps[$scope.tutorialStep]) window.location.href = $scope.tutorialSteps[$scope.tutorialStep].page;
};
$scope.update = {
diff --git a/webadmin/src/views/appstore.js b/webadmin/src/views/appstore.js
index 4d5d09bd3..5aa17edec 100644
--- a/webadmin/src/views/appstore.js
+++ b/webadmin/src/views/appstore.js
@@ -60,8 +60,10 @@ angular.module('Application').controller('AppStoreController', ['$scope', '$loca
$('#collapseResourceConstraint').collapse('hide');
$('#collapseMediaLinksCarousel').collapse('show');
- $scope.appInstallForm.$setPristine();
- $scope.appInstallForm.$setUntouched();
+ if ($scope.appInstallForm) {
+ $scope.appInstallForm.$setPristine();
+ $scope.appInstallForm.$setUntouched();
+ }
},
showForm: function (force) {