Log when and why an email was not sent in email_logs

This commit is contained in:
Neil Lalonde
2014-02-14 13:06:21 -05:00
parent 42fb9d4fb1
commit 35dae76bbd
15 changed files with 164 additions and 37 deletions
@@ -20,7 +20,7 @@ Discourse.EmailLog.reopenClass({
findAll: function(filter) {
var result = Em.A();
Discourse.ajax("/admin/email/logs.json", {
Discourse.ajax("/admin/email/" + (filter === 'skipped' ? 'skipped' : 'logs') + ".json", {
data: { filter: filter }
}).then(function(logs) {
_.each(logs,function(log) {
@@ -0,0 +1,17 @@
/**
Handles routes related to viewing email logs of emails that were NOT sent.
@class AdminEmailSkippedRoute
@extends Discourse.Route
@namespace Discourse
@module Discourse
**/
Discourse.AdminEmailSkippedRoute = Discourse.Route.extend({
model: function() {
return Discourse.EmailLog.findAll('skipped');
},
renderTemplate: function() {
this.render('admin/templates/email_skipped', {into: 'adminEmail'});
}
});
@@ -17,6 +17,7 @@ Discourse.Route.buildRoutes(function() {
this.resource('adminEmail', { path: '/email'}, function() {
this.route('logs');
this.route('skipped');
this.route('previewDigest', { path: '/preview-digest' });
});
@@ -3,6 +3,7 @@
<ul class="nav nav-pills">
<li>{{#link-to 'adminEmail.index'}}{{i18n admin.email.settings}}{{/link-to}}</li>
<li>{{#link-to 'adminEmail.logs'}}{{i18n admin.email.logs}}{{/link-to}}</li>
<li>{{#link-to 'adminEmail.skipped'}}{{i18n admin.email.skipped}}{{/link-to}}</li>
<li>{{#link-to 'adminEmail.previewDigest'}}{{i18n admin.email.preview_digest}}{{/link-to}}</li>
</ul>
</div>
@@ -0,0 +1,33 @@
<table class='table'>
<thead>
<tr>
<th>{{i18n admin.email.sent_at}}</th>
<th>{{i18n admin.email.user}}</th>
<th>{{i18n admin.email.to_address}}</th>
<th>{{i18n admin.email.email_type}}</th>
<th>{{i18n admin.email.skip_reason}}</th>
</tr>
</thead>
{{#if model.length}}
{{#groupedEach model}}
<tr>
<td>{{unboundDate created_at}}</td>
<td>
{{#if user}}
{{#link-to 'adminUser' user}}{{avatar user imageSize="tiny"}}{{/link-to}}
{{#link-to 'adminUser' user}}{{user.username}}{{/link-to}}
{{else}}
&mdash;
{{/if}}
</td>
<td><a href='mailto:{{unbound to_address}}'>{{to_address}}</a></td>
<td>{{email_type}}</td>
<td>
{{skipped_reason}}
</td>
</tr>
{{/groupedEach}}
{{/if}}
</table>