Add settings UI to enable/disable mail

This commit is contained in:
Girish Ramakrishnan
2016-08-30 22:12:07 -07:00
parent 344908b5b1
commit 6d783220fd
2 changed files with 42 additions and 0 deletions

View File

@@ -182,6 +182,29 @@
</div>
</div>
<div class="section-header">
<div class="text-left">
<h3>Email</h3>
</div>
</div>
<div class="card" style="margin-bottom: 15px;">
<div class="row">
<div class="col-md-12">
<span>Cloudron has a built-in email server that allows you to send/receive email for your domain. When enabled, your DNS will be configured automatically.</span>
</div>
</div>
<div class="row">
<p class="col-md-12" ng-show="!config.isCustomDomain">
Email server can only be enabled for custom domains.
</p>
<div class="col-xs-6 text-right" ng-show="config.isCustomDomain">
<button class="btn btn-primary pull-right" ng-click="toggleEmail()" ng-enabled="mailConfig">{{ mailConfig.enabled ? "Disable Email" : "Enable Email" }}</button>
</div>
</div>
</div>
<div class="section-header">
<div class="text-left">
<h3>Backups</h3>

View File

@@ -9,6 +9,8 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca
$scope.dnsConfig = {};
$scope.appstoreConfig = {};
$scope.mailConfig = null;
$scope.lastBackup = null;
$scope.backups = [];
@@ -119,6 +121,22 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca
});
}
function getMailConfig() {
Client.getMailConfig(function (error, mailConfig) {
if (error) return console.error(error);
$scope.mailConfig = mailConfig;
});
}
$scope.toggleEmail = function () {
Client.setMailConfig({ enabled: !$scope.mailConfig.enabled }, function (error) {
if (error) return console.error(error);
$scope.mailConfig.enabled = !$scope.mailConfig.enabled;
});
};
function getPlans() {
AppStore.getSizes(function (error, result) {
if (error) return console.error(error);
@@ -359,6 +377,7 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca
Client.onReady(function () {
fetchBackups();
getMailConfig();
if ($scope.config.provider === 'caas') {
getPlans();