make mailbox optional
This commit is contained in:
+23
-19
@@ -851,31 +851,35 @@
|
||||
<div class="card" ng-show="view === 'email'">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<label class="control-label">{{ 'app.email.from.title' | tr }}</label>
|
||||
<p ng-bind-html="'app.email.from.description' | tr:{ domain: app.domain, domainConfigLink: ('/#/email/' + app.domain) }"></p>
|
||||
<label class="control-label"><input type="checkbox" ng-model="email.enableMailbox">
|
||||
{{ 'app.email.from.enable' | tr }}
|
||||
</label>
|
||||
|
||||
<p ng-bind-html="'app.email.from.description2' | tr:{ domain: app.domain, domainConfigLink: ('/#/email/' + app.domain) }"></p>
|
||||
|
||||
<form role="form" name="emailForm" ng-submit="email.submit()" autocomplete="off">
|
||||
<!-- recvmail currently only works with cloudron email -->
|
||||
<div class="form-group" ng-class="{ 'has-error': emailForm.$dirty && email.error.mailboxName }">
|
||||
<div ng-show="email.error.mailboxName">{{ email.error.mailboxName }}</div>
|
||||
<fieldset ng-disabled="!email.enableMailbox">
|
||||
<div class="form-group" ng-class="{ 'has-error': emailForm.$dirty && email.error.mailboxName }">
|
||||
<div ng-show="email.error.mailboxName">{{ email.error.mailboxName }}</div>
|
||||
|
||||
<div class="input-group form-inline" ng-class="{ 'has-error': !emailForm.mailboxName.$dirty && email.error.mailboxName }">
|
||||
<input type="text" class="form-control" name="mailboxName" placeholder="{{ 'app.email.from.mailboxPlaceholder' | tr }}" ng-model="email.mailboxName">
|
||||
<div class="input-group form-inline" ng-class="{ 'has-error': !emailForm.mailboxName.$dirty && email.error.mailboxName }">
|
||||
<input type="text" class="form-control" name="mailboxName" placeholder="{{ 'app.email.from.mailboxPlaceholder' | tr }}" ng-model="email.mailboxName">
|
||||
|
||||
<div class="input-group-btn">
|
||||
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
|
||||
<span>{{ '@' + email.mailboxDomain.domain }}</span>
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-menu-right" role="menu">
|
||||
<li ng-repeat="domain in domains">
|
||||
<a href="" ng-click="email.mailboxDomain = domain">{{ domain.domain }}</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="input-group-btn">
|
||||
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
|
||||
<span>{{ '@' + email.mailboxDomain.domain }}</span>
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-menu-right" role="menu">
|
||||
<li ng-repeat="domain in domains">
|
||||
<a href="" ng-click="email.mailboxDomain = domain">{{ domain.domain }}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<br/>
|
||||
</div>
|
||||
<br/>
|
||||
</div>
|
||||
</fieldset>
|
||||
<input class="ng-hide" type="submit" ng-disabled="(email.currentMailboxDomainName === email.mailboxDomain.domain && email.currentMailboxName === email.mailboxName) || email.busy || app.error || app.taskId"/>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
+4
-1
@@ -749,6 +749,7 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
|
||||
busy: false,
|
||||
error: {},
|
||||
|
||||
enableMailbox: true,
|
||||
mailboxName: '',
|
||||
mailboxDomain: '',
|
||||
currentMailboxName: '',
|
||||
@@ -759,6 +760,7 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
|
||||
|
||||
$scope.emailForm.$setPristine();
|
||||
$scope.email.error = {};
|
||||
$scope.email.enableMailbox = app.enableMailbox;
|
||||
$scope.email.mailboxName = app.mailboxName || '';
|
||||
$scope.email.mailboxDomain = $scope.domains.filter(function (d) { return d.domain === app.mailboxDomain; })[0];
|
||||
$scope.email.currentMailboxName = app.mailboxName || '';
|
||||
@@ -769,7 +771,7 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
|
||||
$scope.email.error = {};
|
||||
$scope.email.busy = true;
|
||||
|
||||
Client.configureApp($scope.app.id, 'mailbox', { mailboxName: $scope.email.mailboxName || null, mailboxDomain: $scope.email.mailboxDomain.domain }, function (error) {
|
||||
Client.configureApp($scope.app.id, 'mailbox', { enable: $scope.email.enableMailbox, mailboxName: $scope.email.mailboxName || null, mailboxDomain: $scope.email.mailboxDomain.domain }, function (error) {
|
||||
if (error && error.statusCode === 400) {
|
||||
$scope.email.busy = false;
|
||||
$scope.email.error.mailboxName = error.message;
|
||||
@@ -784,6 +786,7 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
|
||||
if (error) return Client.error(error);
|
||||
|
||||
// when the mailboxName is 'reset', this will fill it up with the default again
|
||||
$scope.email.enableMailbox = $scope.app.enableMailbox;
|
||||
$scope.email.mailboxName = $scope.app.mailboxName || '';
|
||||
$scope.email.mailboxDomain = $scope.domains.filter(function (d) { return d.domain === $scope.app.mailboxDomain; })[0];
|
||||
$scope.email.currentMailboxName = $scope.app.mailboxName || '';
|
||||
|
||||
Reference in New Issue
Block a user