diff --git a/src/theme.scss b/src/theme.scss
index 854a926b2..6de35647a 100644
--- a/src/theme.scss
+++ b/src/theme.scss
@@ -413,6 +413,14 @@ multiselect {
}
}
+.alternate-domains .col-lg-11 {
+ padding-right: 5px;
+}
+
+.alternate-domains .col-lg-1 {
+ padding-left: 0px;
+ padding-right: 0px;
+}
// ----------------------------
// Appstore view
diff --git a/src/views/apps.html b/src/views/apps.html
index 287d87de9..55b055ddc 100644
--- a/src/views/apps.html
+++ b/src/views/apps.html
@@ -155,28 +155,6 @@
-
{{ appConfigure.error.cert }}
diff --git a/src/views/apps.js b/src/views/apps.js
index 3162b4e2d..e27cedbeb 100644
--- a/src/views/apps.js
+++ b/src/views/apps.js
@@ -42,11 +42,9 @@ angular.module('Application').controller('AppsController', ['$scope', '$location
accessRestrictionOption: 'any',
accessRestriction: { users: [], groups: [] },
dataDir: null,
- alternateDomainEnabled: false,
+ alternateDomains: [],
mailboxNameEnabled: false,
dataDirEnabled: false,
- alternateSubdomain: '',
- alternateDomain: null,
ssoAuth: false,
ftp: false,
tags: '',
@@ -60,6 +58,19 @@ angular.module('Application').controller('AppsController', ['$scope', '$location
return !!(tmp.users.length || tmp.groups.length);
},
+ addAlternateDomain: function (event) {
+ event.preventDefault();
+ $scope.appConfigure.alternateDomains.push({
+ domain: $scope.domains[0],
+ subdomain: ''
+ });
+ },
+
+ delAlternateDomain: function (event, index) {
+ event.preventDefault();
+ $scope.appConfigure.alternateDomains.splice(index, 1);
+ },
+
show: function (app) {
$scope.reset();
@@ -71,9 +82,7 @@ angular.module('Application').controller('AppsController', ['$scope', '$location
$scope.appConfigure.memoryLimit = app.memoryLimit || app.manifest.memoryLimit || (256 * 1024 * 1024);
$scope.appConfigure.dataDirEnabled = !!app.dataDir;
$scope.appConfigure.dataDir = app.dataDir;
- $scope.appConfigure.alternateDomainEnabled = !!app.alternateDomains[0];
- $scope.appConfigure.alternateSubdomain = app.alternateDomains[0] ? app.alternateDomains[0].subdomain : '';
- $scope.appConfigure.alternateDomain = app.alternateDomains[0] ? $scope.domains.filter(function (d) { return d.domain === app.alternateDomains[0].domain; })[0] : $scope.appConfigure.domain;
+ $scope.appConfigure.alternateDomains = app.alternateDomains.map(function (a) { return { subdomain: a.subdomain, domain: $scope.domains.filter(function (d) { return d.domain === a.domain; })[0] }});
$scope.appConfigure.robotsTxt = app.robotsTxt;
$scope.appConfigure.enableBackup = app.enableBackup;
$scope.appConfigure.enableAutomaticUpdate = app.enableAutomaticUpdate;
@@ -176,15 +185,12 @@ angular.module('Application').controller('AppsController', ['$scope', '$location
robotsTxt: $scope.appConfigure.robotsTxt,
enableBackup: $scope.appConfigure.enableBackup,
enableAutomaticUpdate: $scope.appConfigure.enableAutomaticUpdate,
- alternateDomains: [],
+ alternateDomains: $scope.appConfigure.alternateDomains.map(function (a) { return { subdomain: a.subdomain, domain: a.domain.domain }}),
label: $scope.appConfigure.label,
tags: $scope.appConfigure.tags.split(',').map(function (t) { return t.trim(); }).filter(function (t) { return !!t; }),
dataDir: $scope.appConfigure.dataDirEnabled ? $scope.appConfigure.dataDir : ''
};
- // The backend supports multiple alternateDomains, however we only have ui for one
- if ($scope.appConfigure.alternateDomainEnabled) data.alternateDomains = [{ domain: $scope.appConfigure.alternateDomain.domain, subdomain: $scope.appConfigure.alternateSubdomain }];
-
if ($scope.appConfigure.mailboxNameEnabled) {
data.mailboxName = $scope.appConfigure.mailboxName;
@@ -230,8 +236,6 @@ angular.module('Application').controller('AppsController', ['$scope', '$location
$scope.appConfigure.keyFile = null;
} else if (error.statusCode === 400 && error.message.indexOf('alternateDomains') !== -1 ) {
$scope.appConfigure.error.alternateDomains = error.message;
- $scope.appConfigureForm.alternateDomains.$setPristine();
- $('#appConfigureAlternateSubdomainInput').focus();
} else if (error.message.indexOf('dataDir') !== -1 ) { // can be 400 or 409
$scope.appConfigure.error.dataDir = error.message;
$scope.appConfigureForm.dataDir.$setPristine();