+/*global Proxmox*/
Ext.define('pmg-mail-tracker', {
extend: 'Ext.data.Model',
fields: [
value: (function() {
var now = new Date();
return new Date(now.getTime() - 3600000);
- })(),
+ }()),
xtype: 'promxoxDateTimeField'
},
{
xtype: 'promxoxDateTimeField'
},
{
- layout: 'hbox',
+ layout: {
+ type: 'hbox'
+ },
border: false,
items: [
{
height: 400,
scrollable: true,
- layout: 'auto',
+ layout: {
+ type: 'auto'
+ },
modal: true,
bodyPadding: 5,
viewConfig: {
deferEmptyText: false,
enableTextSelection: true,
+ getRowClass: function(record, index) {
+ var status = record.data.rstatus || record.data.dstatus;
+ return PMG.Utils.mail_status_map[status];
+ }
},
plugins: [
{
ptype: 'rowexpander',
- rowBodyTpl: '<p class="logs">{logs}</p>',
+ rowBodyTpl: '<p class="logs">{logs}</p>'
}
],
{
header: gettext('From'),
flex: 1,
- dataIndex: 'from'
+ dataIndex: 'from',
+ renderer: Ext.htmlEncode
},
{
header: gettext('To'),
flex: 1,
- dataIndex: 'to'
+ dataIndex: 'to',
+ renderer: Ext.htmlEncode
},
{
header: gettext('Status'),
width: 150,
renderer: function(v, metaData, rec) {
+ var returntext = 'unknown';
+ var icon = 'question-circle';
var rstatus = rec.data.rstatus;
if (v !== undefined && v !== '') {
- vtext = PMG.Utils.mail_status_map[v] || v;
+ var vtext = PMG.Utils.mail_status_map[v] || v;
+ icon = v;
if (rstatus !== undefined && rstatus !== '') {
- rtext = PMG.Utils.mail_status_map[rstatus] || rstatus;
- return vtext + '/' + rtext;
+ var rtext = PMG.Utils.mail_status_map[rstatus] || rstatus;
+ returntext = vtext + '/' + rtext;
+ icon = rstatus;
+ } else if (rec.data.qid !== undefined) {
+ returntext = 'queued/' + vtext;
+ } else {
+ returntext = vtext;
}
- if (rec.data.qid !== undefined) {
- return 'queued/' + vtext;
- }
- return vtext;
}
- return 'unknown';
+
+ return PMG.Utils.format_status_icon(icon) + returntext;
},
dataIndex: 'dstatus'
},
header: 'MSGID',
width: 300,
hidden: true,
- dataIndex: 'msgid'
+ dataIndex: 'msgid',
+ renderer: Ext.htmlEncode
},
{
header: gettext('Client'),
width: 200,
hidden: true,
- dataIndex: 'client'
+ dataIndex: 'client',
+ renderer: Ext.htmlEncode
}
],