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.alternateDomains }}
- -
- - -
- - -
-
-
-
@@ -199,6 +177,42 @@
+
+ +
{{ appConfigure.error.alternateDomains }}
+ +
+
+
+ + +
+ + +
+
+
+
+ +
+
+
+
+

No alternate domains are configured

+
+
+ +
+
+
+
{{ 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();