diff --git a/src/views/apps.html b/src/views/apps.html index 3e5d23b78..97c1952cc 100644 --- a/src/views/apps.html +++ b/src/views/apps.html @@ -158,6 +158,13 @@ +
+ + +
{{appConfigure.error.dataDir}}
+ +
+
diff --git a/src/views/apps.js b/src/views/apps.js index 7fade640a..31d39ccdd 100644 --- a/src/views/apps.js +++ b/src/views/apps.js @@ -35,8 +35,10 @@ angular.module('Application').controller('AppsController', ['$scope', '$location accessRestrictionOption: 'any', accessRestriction: { users: [], groups: [] }, xFrameOptions: '', + dataDir: null, alternateDomainEnabled: false, mailboxNameEnabled: false, + dataDirEnabled: false, alternateSubdomain: '', alternateDomain: null, ssoAuth: false, @@ -60,6 +62,8 @@ angular.module('Application').controller('AppsController', ['$scope', '$location $scope.appConfigure.portBindingsInfo = angular.extend({}, app.manifest.tcpPorts, app.manifest.udpPorts); // 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.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; @@ -114,6 +118,7 @@ angular.module('Application').controller('AppsController', ['$scope', '$location $scope.appConfigure.error.other = null; $scope.appConfigure.error.location = null; $scope.appConfigure.error.xFrameOptions = null; + $scope.appConfigure.error.dataDir = null; $scope.appConfigure.error.alternateDomains = null; $scope.appConfigure.error.mailboxName = null; @@ -150,6 +155,8 @@ angular.module('Application').controller('AppsController', ['$scope', '$location // 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.dataDirEnabled) data.dataDir = $scope.appConfigure.dataDir; + if ($scope.appConfigure.mailboxNameEnabled) { data.mailboxName = $scope.appConfigure.mailboxName; @@ -159,7 +166,6 @@ angular.module('Application').controller('AppsController', ['$scope', '$location if (error && error.statusCode !== 409) console.error(error); // it's fine if it already exists }); } - } else { // setting to empty will reset to .app name data.mailboxName = ''; } @@ -190,6 +196,10 @@ angular.module('Application').controller('AppsController', ['$scope', '$location $scope.appConfigure.error.alternateDomains = error.message; $scope.appConfigureForm.alternateDomains.$setPristine(); $('#appConfigureAlternateSubdomainInput').focus(); + } else if (error.statusCode === 400 && error.message.indexOf('dataDir') !== -1 ) { + $scope.appConfigure.error.dataDir = error.message; + $scope.appConfigureForm.dataDir.$setPristine(); + $('#appConfigureDataDirInput').focus(); } else { $scope.appConfigure.error.other = error.message; }