]> git.proxmox.com Git - pmg-gui.git/blobdiff - js/ReceiverStatistics.js
spam detector: custom rules: move apply/revert buttons to pending section
[pmg-gui.git] / js / ReceiverStatistics.js
index 42e1c4a4b26ebe9a8995db231c51429b520ab0b1..bf86745be537f02bd7dca4de09e6b912b80baf2d 100644 (file)
@@ -8,18 +8,18 @@ Ext.define('PMG.ReceiverDetails', {
            xtype: 'panel',
            itemId: 'info',
            bodyPadding: 10,
-           html: gettext('Please select a receiver.')
-       }
+           html: gettext('Please select a receiver.'),
+       },
     ],
 
     disableSelection: true,
 
     plugins: 'gridfilters',
 
-    setUrl: function(url, title) {
+    setUrl: function(url, extraparam, title) {
        var me = this;
 
-       me.store.setUrl(url);
+       me.store.setUrl(url, extraparam);
        me.store.setRemoteFilter(url !== undefined);
        Proxmox.Utils.setErrorMask(me, false);
        me.store.reload();
@@ -42,19 +42,19 @@ Ext.define('PMG.ReceiverDetails', {
            { type: 'integer', name: 'bytes' },
            { type: 'boolean', name: 'blocked' },
            { type: 'integer', name: 'spamlevel' },
-            { type: 'date', dateFormat: 'timestamp', name: 'time' }
+            { type: 'date', dateFormat: 'timestamp', name: 'time' },
        ],
        proxy: {
            type: 'pmgfilterproxy',
            filterId: 'x-gridfilter-sender',
-           sortParam: 'orderby'
+           sortParam: 'orderby',
        },
        sorters: [
            {
                property: 'time',
-               direction: 'ASC'
-           }
-       ]
+               direction: 'ASC',
+           },
+       ],
     },
 
     columns: [
@@ -63,33 +63,33 @@ Ext.define('PMG.ReceiverDetails', {
            renderer: Ext.htmlEncode,
            flex: 1,
            filter: { type: 'string' },
-           dataIndex: 'sender'
+           dataIndex: 'sender',
        },
        {
            header: gettext('Size') + ' (KB)',
            renderer: function(v) { return Ext.Number.toFixed(v/1024, 0); },
-           dataIndex: 'bytes'
+           dataIndex: 'bytes',
        },
        {
            xtype: 'datecolumn',
            header: gettext('Date'),
            format: 'Y-m-d',
-           dataIndex: 'time'
+           dataIndex: 'time',
        },
        {
            xtype: 'datecolumn',
            header: gettext('Time'),
-           format: 'H:m:s',
-           dataIndex: 'time'
+           format: 'H:i:s',
+           dataIndex: 'time',
        },
        {
            header: gettext('Virus info'),
-           dataIndex: 'virusinfo'
+           dataIndex: 'virusinfo',
        },
        {
            header: gettext('Score'),
-           dataIndex: 'spamlevel'
-       }
+           dataIndex: 'spamlevel',
+       },
     ],
 
     initComponent: function() {
@@ -97,7 +97,7 @@ Ext.define('PMG.ReceiverDetails', {
        me.callParent();
 
        Proxmox.Utils.monStoreErrors(me, me.store, true);
-    }
+    },
 });
 
 Ext.define('PMG.ReceiverList', {
@@ -110,12 +110,12 @@ Ext.define('PMG.ReceiverList', {
     multiColumnSort: true,
     plugins: 'gridfilters',
 
-    emptyText: gettext('No data in database.'),
+    emptyText: gettext('No data in database'),
     viewConfig: {
-       deferEmptyText: false
+       deferEmptyText: false,
     },
 
-    tbar: [ { xtype: 'pmgStatTimeSelector' } ],
+    tbar: [{ xtype: 'pmgStatTimeSelector' }],
 
     store: {
        type: 'pmgStatStore',
@@ -126,27 +126,27 @@ Ext.define('PMG.ReceiverList', {
            'receiver',
            { type: 'integer', name: 'count' },
            { type: 'integer', name: 'bytes' },
-           { type: 'integer', name: 'viruscount' }
+           { type: 'integer', name: 'viruscount' },
        ],
        proxy: {
            type: 'pmgfilterproxy',
            sortParam: 'orderby',
-           filterId: 'x-gridfilter-receiver'
+           filterId: 'x-gridfilter-receiver',
        },
        sorters: [
            {
                property: 'count',
-               direction: 'DESC'
+               direction: 'DESC',
            },
            {
                property: 'bytes',
-               direction: 'DESC'
+               direction: 'DESC',
            },
            {
                property: 'receiver',
-               direction: 'ASC'
-           }
-       ]
+               direction: 'ASC',
+           },
+       ],
     },
 
     columns: [
@@ -159,33 +159,33 @@ Ext.define('PMG.ReceiverList', {
                type: 'string',
                itemDefaults: {
                    // any Ext.form.field.Text configs accepted
-               }
-           }
+               },
+           },
        },
        {
            text: gettext('Count'),
            columns: [
                {
                    text: gettext('Mail'),
-                   dataIndex: 'count'
+                   dataIndex: 'count',
                },
                {
                    header: gettext('Virus'),
-                   dataIndex: 'viruscount'
+                   dataIndex: 'viruscount',
                },
                {
                    header: gettext('Spam'),
-                   dataIndex: 'spamcount'
-               }
-           ]
+                   dataIndex: 'spamcount',
+               },
+           ],
        },
        {
            text: gettext('Size') + ' (KB)',
            dataIndex: 'bytes',
            renderer: function(v) {
                return Ext.Number.toFixed(v/1024, 0);
-           }
-       }
+           },
+       },
    ],
 
     initComponent: function() {
@@ -193,7 +193,7 @@ Ext.define('PMG.ReceiverList', {
        me.callParent();
 
        Proxmox.Utils.monStoreErrors(me, me.store, true);
-    }
+    },
 });
 
 Ext.define('PMG.ReceiverStatistics', {
@@ -210,16 +210,16 @@ Ext.define('PMG.ReceiverStatistics', {
        xclass: 'Ext.app.ViewController',
 
        selectionChange: function(grid, selected, eOpts) {
-           var details =  this.lookupReference('details');
+           var details = this.lookupReference('details');
            if (selected.length > 0) {
+               var url = "/api2/json/statistics/detail";
                var receiver = selected[0].data.receiver;
-               var url = "/api2/json/statistics/receiver/" +
-                   encodeURIComponent(receiver);
-               details.setUrl(url, '<b>' + gettext('Receiver') + ':</b> ' + Ext.htmlEncode(receiver));
+               var extraparam = { address: receiver, type: 'receiver' };
+               details.setUrl(url, extraparam, '<b>' + gettext('Receiver') + ':</b> ' + Ext.htmlEncode(receiver));
            } else {
                details.setUrl();
            }
-       }
+       },
     },
 
     items: [
@@ -237,7 +237,7 @@ Ext.define('PMG.ReceiverStatistics', {
            region: 'east',
            reference: 'details',
            split: true,
-           flex: 1
-       }
-    ]
+           flex: 1,
+       },
+    ],
 });