Indicate during app installation and configuration if the app is a single user app

This commit is contained in:
Johannes Zellner
2015-10-19 10:29:51 +02:00
parent 2f4adb4d5f
commit 9917412329
3 changed files with 13 additions and 9 deletions
+4 -5
View File
@@ -36,6 +36,10 @@
</div>
</ng-form>
</div>
<div class="form-group" ng-show="appConfigure.app.manifest.singleUser">
<label class="control-label" for="accessRestriction">User</label>
<p>This is a single user application. Access is granted to <b>{{appConfigure.app.accessRestriction.users[0]}}</b>.</p>
</div>
<div class="form-group">
<label class="control-label" for="accessRestriction">Website Visibility</label>
<div class="checkbox">
@@ -43,11 +47,6 @@
<input type="checkbox" ng-model="appConfigure.oauthProxy"> Cloudron users only
</label>
</div>
<!-- <label class="control-label" for="accessRestriction">Website Visibility</label>
<select class="form-control" id="accessRestriction" ng-model="appConfigure.accessRestriction">
<option value="">Visible to all</option>
<option value="roleUser">Visible only to Cloudron users</option>
</select> -->
</div>
<a ng-show="!!appConfigure.app.manifest.configurePath" ng-href="https://{{ appConfigure.app.location }}{{ !appConfigure.app.location ? '' : (config.isCustomDomain ? '.' : '-') }}{{ config.fqdn }}/{{ appConfigure.app.manifest.configurePath }}" target="_blank">Application Specific Settings</a>
<br/>
+8 -4
View File
@@ -19,7 +19,6 @@ angular.module('Application').controller('AppsController', ['$scope', '$location
portBindings: {},
portBindingsEnabled: {},
portBindingsInfo: {},
accessRestriction: null,
oauthProxy: false
};
@@ -53,7 +52,6 @@ angular.module('Application').controller('AppsController', ['$scope', '$location
$scope.appConfigure.location = '';
$scope.appConfigure.password = '';
$scope.appConfigure.portBindings = {};
$scope.appConfigure.accessRestriction = null;
$scope.appConfigure.oauthProxy = false;
$scope.appConfigureForm.$setPristine();
@@ -91,7 +89,6 @@ angular.module('Application').controller('AppsController', ['$scope', '$location
$scope.appConfigure.app = app;
$scope.appConfigure.location = app.location;
$scope.appConfigure.accessRestriction = app.accessRestriction || null;
$scope.appConfigure.oauthProxy = app.oauthProxy;
$scope.appConfigure.portBindingsInfo = app.manifest.tcpPorts || {}; // Portbinding map only for information
$scope.appConfigure.portBindings = {}; // This is the actual model holding the env:port pair
@@ -125,7 +122,14 @@ angular.module('Application').controller('AppsController', ['$scope', '$location
}
}
Client.configureApp($scope.appConfigure.app.id, $scope.appConfigure.password, { location: $scope.appConfigure.location || '', portBindings: finalPortBindings, accessRestriction: $scope.appConfigure.accessRestriction, oauthProxy: $scope.appConfigure.oauthProxy }, function (error) {
var data = {
location: $scope.appConfigure.location || '',
portBindings: finalPortBindings,
oauthProxy: $scope.appConfigure.oauthProxy,
accessRestriction: $scope.appConfigure.app.accessRestriction
};
Client.configureApp($scope.appConfigure.app.id, $scope.appConfigure.password, data, function (error) {
if (error) {
if (error.statusCode === 409 && (error.message.indexOf('is reserved') !== -1 || error.message.indexOf('is already in use') !== -1)) {
$scope.appConfigure.error.port = error.message;
+1
View File
@@ -35,6 +35,7 @@
</div>
<div class="form-group" ng-show="appInstall.app.manifest.singleUser">
<label class="control-label" for="accessRestriction">User</label>
<p>This is a single user application.</p>
<select class="form-control" id="accessRestriction" ng-model="appInstall.accessRestriction" ng-required="appInstall.app.manifest.singleUser">
<option ng-repeat="user in users" value="{{user.id}}">{{user.username}} - {{user.email}}</option>
</select>