diff --git a/webadmin/src/views/email.html b/webadmin/src/views/email.html index 39bf2253d..aeca4cbca 100644 --- a/webadmin/src/views/email.html +++ b/webadmin/src/views/email.html @@ -27,18 +27,32 @@ - +
+
- +
diff --git a/webadmin/src/views/email.js b/webadmin/src/views/email.js index 8814b4ca6..2aaf52ad7 100644 --- a/webadmin/src/views/email.js +++ b/webadmin/src/views/email.js @@ -164,12 +164,44 @@ angular.module('Application').controller('EmailController', ['$scope', '$locatio } }; - $scope.sendTestEmail = function () { - Client.sentTestMail($scope.user.email, function (error) { - if (error) return console.error(error); + $scope.testEmail = { + busy: false, + error: {}, - $('#testEmailSent').modal('show'); - }); + mailTo: '', + + clearForm: function () { + $scope.testEmail.mailTo = ''; + }, + + show: function () { + $scope.testEmail.error = {}; + $scope.testEmail.busy = false; + + $scope.testEmail.mailTo = $scope.user.email; + + $('#testEmailModal').modal('show'); + }, + + submit: function () { + $scope.testEmail.error = {}; + $scope.testEmail.busy = true; + + Client.sentTestMail($scope.testEmail.mailTo, function (error) { + $scope.testEmail.busy = false; + + if (error) { + if (error.statusCode === 402) { + $scope.testEmail.error.generic = error.message; + } else { + console.error(error); + } + return; + } + + $('#testEmailModal').modal('hide'); + }); + } }; function getMailConfig() {