Mail-Queue management in admin panel.

This commit is contained in:
baldo 2016-06-11 12:08:50 +02:00
parent 807f3f5fb2
commit 26aaec385a
8 changed files with 376 additions and 3 deletions
admin/js

View file

@ -129,6 +129,60 @@ angular.module('ffffngAdmin').config(function(NgAdminConfigurationProvider, Rest
admin.addEntity(nodes);
function mailClasses(mail) {
if (!mail) {
return;
}
var failures = mail.values.failures;
if (failures === 0) {
return 'mails-pending';
}
if (failures >= 5) {
return 'mails-failed-max';
}
return 'mails-failed';
}
var mails = nga.entity('mails').label('Mail-Queue');
mails
.listView()
.title('Mail-Queue')
.perPage(30)
.sortDir('ASC')
.sortField('id')
.actions([])
.batchActions([])
.exportFields([])
.fields([
nga.field('id').cssClasses(mailClasses),
nga.field('failures').cssClasses(mailClasses),
nga.field('sender').cssClasses(mailClasses),
nga.field('recipient').cssClasses(mailClasses),
nga.field('email').cssClasses(mailClasses),
nga.field('created_at').map(formatMoment).cssClasses(mailClasses),
nga.field('modified_at').map(formatMoment).cssClasses(mailClasses)
])
.filters([
nga.field('q')
.label('')
.pinned(true)
.template(
'<div class="input-group">' +
'<input type="text" ng-model="value" placeholder="Search" class="form-control"></input>' +
'<span class="input-group-addon"><i class="fa fa-search"></i></span></div>'),
])
.listActions(
'<fa-mail-action-button disabled="entry.values.failures === 0" action="reset" icon="refresh" label="Retry" mail="entry" button="success" label="run" size="sm"></fa-mail-action-button> ' +
'<ma-delete-button entry="entry" entity="entity" size="sm"></ma-delete-button>'
)
;
admin.addEntity(mails);
function taskClasses(task) {
if (!task) {
return;
@ -178,6 +232,10 @@ angular.module('ffffngAdmin').config(function(NgAdminConfigurationProvider, Rest
.menu(nodes)
.icon('<i class="fa fa-dot-circle-o"></i>')
)
.addChild(nga
.menu(mails)
.icon('<span class="fa fa-envelope"></span>')
)
.addChild(nga
.menu(tasks)
.icon('<span class="fa fa-cog"></span>')