Put the alternate domain settings behind a checkbox

This commit is contained in:
Johannes Zellner
2018-07-03 18:00:22 +02:00
parent cd3fb77033
commit 6108fcf17b
2 changed files with 8 additions and 4 deletions

View File

@@ -121,12 +121,13 @@
<div class="has-error" ng-show="appConfigure.error.alternateDomains">{{ appConfigure.error.alternateDomains }}</div>
<div class="form-group" ng-class="{ 'has-error': (appConfigureForm.alternateSubdomain.$dirty && appConfigureForm.alternateSubdomain.$invalid) || (!appConfigureForm.alternateSubdomain.$dirty && appConfigure.error.alternateDomains) }">
<label class="control-label" for="appConfigureAlternateSubdomainInput">Alternate domain, which redirects to this app</label>
<input type="checkbox" id="appConfigureAlternateSubdomainInput" ng-model="appConfigure.alternateDomainEnabled">
<label class="control-label" for="appConfigureAlternateSubdomainInput">Enable alternate domain redirecting to this app</label>
<div class="input-group form-inline">
<input type="text" class="form-control" ng-model="appConfigure.alternateSubdomain" id="appConfigureAlternateSubdomainInput" name="alternateSubdomain" placeholder="{{ 'Leave empty to use bare domain' }}">
<input type="text" class="form-control" ng-model="appConfigure.alternateSubdomain" id="appConfigureAlternateSubdomainInput" name="alternateSubdomain" placeholder="{{ 'Leave empty to use bare domain' }}" ng-disabled="!appConfigure.alternateDomainEnabled">
<div class="input-group-btn">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" ng-disabled="!appConfigure.alternateDomainEnabled">
{{ (!appConfigure.alternateSubdomain ? '' : '.') + appConfigure.alternateDomain }}
<span class="caret"></span>
</button>

View File

@@ -34,6 +34,7 @@ angular.module('Application').controller('AppsController', ['$scope', '$location
accessRestrictionOption: 'any',
accessRestriction: { users: [], groups: [] },
xFrameOptions: '',
alternateDomainEnabled: false,
alternateSubdomain: '',
alternateDomain: '',
ssoAuth: false,
@@ -53,6 +54,7 @@ angular.module('Application').controller('AppsController', ['$scope', '$location
$scope.appConfigure.portBindingsInfo = app.manifest.tcpPorts || {}; // Portbinding map only for information
$scope.appConfigure.memoryLimit = app.memoryLimit || app.manifest.memoryLimit || (256 * 1024 * 1024);
$scope.appConfigure.xFrameOptions = app.xFrameOptions.indexOf('ALLOW-FROM') === 0 ? app.xFrameOptions.split(' ')[1] : '';
$scope.appConfigure.alternateDomainEnabled = !!app.alternateDomains[0];
$scope.appConfigure.alternateSubdomain = app.alternateDomains[0] ? app.alternateDomains[0].subdomain : '';
$scope.appConfigure.alternateDomain = app.alternateDomains[0] ? app.alternateDomains[0].domain : '';
$scope.appConfigure.robotsTxt = app.robotsTxt;
@@ -136,7 +138,8 @@ angular.module('Application').controller('AppsController', ['$scope', '$location
};
// The backend supports multiple alternateDomains, however we only have ui for one
if ($scope.appConfigure.alternateDomain) data.alternateDomains = [{ domain: $scope.appConfigure.alternateDomain, subdomain: $scope.appConfigure.alternateSubdomain }];
if ($scope.appConfigure.alternateDomainEnabled) data.alternateDomains = [{ domain: $scope.appConfigure.alternateDomain, subdomain: $scope.appConfigure.alternateSubdomain }];
else $scope.appConfigure.alternateDomains = [];
if ($scope.appConfigure.mailboxName !== $scope.appConfigure.app.mailboxName) data.mailboxName = $scope.appConfigure.mailboxName;