FEATURE: add filters on email logs

This commit is contained in:
Régis Hanol
2014-02-15 00:50:08 +01:00
parent 21f757fd72
commit 3f3c9ca7cb
16 changed files with 145 additions and 67 deletions
@@ -9,25 +9,27 @@
Discourse.EmailLog = Discourse.Model.extend({});
Discourse.EmailLog.reopenClass({
create: function(attrs) {
attrs = attrs || {};
if (attrs.user) {
attrs.user = Discourse.AdminUser.create(attrs.user);
}
return this._super(attrs);
},
findAll: function(filter) {
var result = Em.A();
Discourse.ajax("/admin/email/" + (filter === 'skipped' ? 'skipped' : 'logs') + ".json", {
data: { filter: filter }
}).then(function(logs) {
_.each(logs,function(log) {
result.pushObject(Discourse.EmailLog.create(log));
filter = filter || {};
var status = filter.status || "sent";
filter = _.omit(filter, "status");
return Discourse.ajax("/admin/email/" + status + ".json", { data: filter }).then(function(logs) {
return _.map(logs, function (log) {
return Discourse.EmailLog.create(log);
});
});
return result;
}
});