+7
-5
@@ -112,24 +112,26 @@
|
||||
</div>
|
||||
|
||||
<div class="form-group" ng-show="appConfigure.app.manifest.addons.sendmail" ng-class="{ 'has-error': !appConfigureForm.mailboxName.$dirty && appConfigure.error.mailboxName }">
|
||||
<label class="control-label">Mailbox Name</label>
|
||||
<div class="control-label" ng-show="appConfigure.error.mailboxName">{{appConfigure.error.mailboxName}}</div>
|
||||
<input type="checkbox" id="appConfigureMailboxNameEnabled" ng-model="appConfigure.mailboxNameEnabled">
|
||||
<label class="control-label" for="appConfigureMailboxNameEnabled">Custom Mailbox Name</label>
|
||||
<div class="has-error" ng-show="appConfigure.error.mailboxName">{{ appConfigure.error.mailboxName }}</div>
|
||||
|
||||
<div class="input-group form-inline">
|
||||
<input type="text" class="form-control" id="appConfigureMailboxNameInput" name="mailboxName" ng-model="appConfigure.mailboxName" uib-tooltip="App FROM email address">
|
||||
<input type="text" class="form-control" id="appConfigureMailboxNameInput" ng-required="appConfigure.mailboxNameEnabled" name="mailboxName" ng-model="appConfigure.mailboxName" uib-tooltip="App FROM email address. Addresses ending with '.app' are reserved." ng-disabled="!appConfigure.mailboxNameEnabled">
|
||||
|
||||
<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.mailboxNameEnabled">
|
||||
@{{ appConfigure.domain.domain }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<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) }">
|
||||
<input type="checkbox" id="appConfigureAlternateDomainEnabled" ng-model="appConfigure.alternateDomainEnabled">
|
||||
<label class="control-label" for="appConfigureAlternateDomainEnabled">Redirect the following domain to this app</label>
|
||||
<div class="has-error" ng-show="appConfigure.error.alternateDomains">{{ appConfigure.error.alternateDomains }}</div>
|
||||
|
||||
<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" ng-disabled="!appConfigure.alternateDomainEnabled">
|
||||
|
||||
|
||||
+8
-2
@@ -36,6 +36,7 @@ angular.module('Application').controller('AppsController', ['$scope', '$location
|
||||
accessRestriction: { users: [], groups: [] },
|
||||
xFrameOptions: '',
|
||||
alternateDomainEnabled: false,
|
||||
mailboxNameEnabled: false,
|
||||
alternateSubdomain: '',
|
||||
alternateDomain: null,
|
||||
ssoAuth: false,
|
||||
@@ -64,6 +65,7 @@ angular.module('Application').controller('AppsController', ['$scope', '$location
|
||||
$scope.appConfigure.alternateDomain = app.alternateDomains[0] ? $scope.domains.filter(function (d) { return d.domain === app.alternateDomains[0].domain; })[0] : $scope.appConfigure.domain;
|
||||
$scope.appConfigure.robotsTxt = app.robotsTxt;
|
||||
$scope.appConfigure.enableBackup = app.enableBackup;
|
||||
$scope.appConfigure.mailboxNameEnabled = app.mailboxName && (app.mailboxName.match(/\.app$/) === null);
|
||||
$scope.appConfigure.mailboxName = app.mailboxName || '';
|
||||
|
||||
$scope.appConfigure.ssoAuth = (app.manifest.addons['ldap'] || app.manifest.addons['oauth']) && app.sso;
|
||||
@@ -146,13 +148,17 @@ 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.mailboxName !== $scope.appConfigure.app.mailboxName) data.mailboxName = $scope.appConfigure.mailboxName;
|
||||
if ($scope.appConfigure.mailboxNameEnabled) {
|
||||
data.mailboxName = $scope.appConfigure.mailboxName;
|
||||
} else { // setting to empty will reset to .app name
|
||||
data.mailboxName = '';
|
||||
}
|
||||
|
||||
Client.configureApp($scope.appConfigure.app.id, 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;
|
||||
} else if (error.statusCode === 409 && error.message.indexOf('mailbox') !== -1 ) {
|
||||
} else if (error.statusCode === 400 && error.message.indexOf('mailbox') !== -1 ) {
|
||||
$scope.appConfigure.error.mailboxName = error.message;
|
||||
$scope.appConfigureForm.mailboxName.$setPristine();
|
||||
$('#appConfigureMailboxNameInput').focus();
|
||||
|
||||
Reference in New Issue
Block a user