]> git.proxmox.com Git - pmg-gui.git/blobdiff - js/PostfixQShape.js
spam detector: custom rules: move apply/revert buttons to pending section
[pmg-gui.git] / js / PostfixQShape.js
index e254d7e05c89814defcbf17ca7dbe678484a3422..0a2e5ec9d2c7f1b8463aa88c7ea9ccadfe906b2e 100644 (file)
@@ -2,51 +2,55 @@ Ext.define('pmg-qshape', {
     extend: 'Ext.data.Model',
     fields: [
        'domain',
-       { type: 'integer', name: 'total'},
-       { type: 'integer', name: '5s'},
-       { type: 'integer', name: '10s'},
-       { type: 'integer', name: '20s'},
-       { type: 'integer', name: '40s'},
-       { type: 'integer', name: '80s'},
-       { type: 'integer', name: '160s'},
-       { type: 'integer', name: '320s'},
-       { type: 'integer', name: '640s'},
-       { type: 'integer', name: '1280s'},
-       { type: 'integer', name: '1280s+'}
+       { type: 'integer', name: 'total' },
+       { type: 'integer', name: '5m' },
+       { type: 'integer', name: '10m' },
+       { type: 'integer', name: '20m' },
+       { type: 'integer', name: '40m' },
+       { type: 'integer', name: '80m' },
+       { type: 'integer', name: '160m' },
+       { type: 'integer', name: '320m' },
+       { type: 'integer', name: '640m' },
+       { type: 'integer', name: '1280m' },
+       { type: 'integer', name: '1280m+' },
     ],
-    proxy: {
-       type: 'proxmox',
-       url: "/api2/json/nodes/" + Proxmox.NodeName + "/postfix/qshape"
-    },
-    idProperty: 'domain'
+    idProperty: 'domain',
 });
 
 Ext.define('PMG.Postfix.QShape', {
     extend: 'Ext.grid.GridPanel',
     alias: 'widget.pmgPostfixQShape',
 
+    nodename: undefined,
+
     store: {
        autoLoad: true,
-       model: 'pmg-qshape'
+       model: 'pmg-qshape',
     },
 
     controller: {
 
        xclass: 'Ext.app.ViewController',
 
+       init: function(view) {
+           if (view.nodename) {
+               view.setNodename(view.nodename);
+           }
+       },
+
        onFlush: function() {
            var view = this.getView();
 
            Proxmox.Utils.API2Request({
-               url: '/api2/extjs/nodes/' + Proxmox.NodeName + '/postfix/flush_queues',
+               url: '/api2/extjs/nodes/' + view.nodename + '/postfix/flush_queues',
                method: 'POST',
                waitMsgTarget: view,
                success: function(response, opts) {
                    view.store.load();
                },
-               failure: function (response, opts) {
+               failure: function(response, opts) {
                    Ext.Msg.alert(gettext('Error'), response.htmlStatus);
-               }
+               },
            });
        },
 
@@ -54,15 +58,15 @@ Ext.define('PMG.Postfix.QShape', {
            var view = this.getView();
 
            Proxmox.Utils.API2Request({
-               url: '/api2/extjs/nodes/' + Proxmox.NodeName + '/postfix/delete_deferred_queue',
-               method: 'POST',
+               url: '/api2/extjs/nodes/' + view.nodename + '/postfix/queue/deferred',
+               method: 'DELETE',
                waitMsgTarget: view,
                success: function(response, opts) {
                    view.store.load();
                },
-               failure: function (response, opts) {
+               failure: function(response, opts) {
                    Ext.Msg.alert(gettext('Error'), response.htmlStatus);
-               }
+               },
            });
        },
 
@@ -70,20 +74,28 @@ Ext.define('PMG.Postfix.QShape', {
            var view = this.getView();
 
            Proxmox.Utils.API2Request({
-               url: '/api2/extjs/nodes/' + Proxmox.NodeName + '/postfix/discard_verify_cache',
+               url: '/api2/extjs/nodes/' + view.nodename + '/postfix/discard_verify_cache',
                method: 'POST',
                waitMsgTarget: view,
-               failure: function (response, opts) {
+               failure: function(response, opts) {
                    Ext.Msg.alert(gettext('Error'), response.htmlStatus);
-               }
+               },
            });
-       }
+       },
+
+       control: {
+           '#': {
+               activate: function() {
+                   this.view.store.load(); // reload
+               },
+           },
+       },
     },
 
     tbar: [
         {
            text: gettext('Flush Queue'),
-           handler: 'onFlush'
+           handler: 'onFlush',
        },
        {
            xtype: 'proxmoxButton',
@@ -91,74 +103,88 @@ Ext.define('PMG.Postfix.QShape', {
            dangerous: true,
            confirmMsg: "Are you sure you want to delete all deferred mails?",
            selModel: null,
-           handler: 'onDeleteAll'
+           handler: 'onDeleteAll',
        },
        {
            text: gettext('Discard address verification database'),
-           handler: 'onDiscardVerifyDatabase'
-       }
+           handler: 'onDiscardVerifyDatabase',
+       },
     ],
 
     columns: [
        {
            header: gettext('Domain'),
            width: 200,
-           dataIndex: 'domain'
+           dataIndex: 'domain',
        },
        {
            header: gettext('Total'),
            width: 80,
-           dataIndex: 'total'
+           dataIndex: 'total',
        },
        {
-           header: '5s',
+           header: '5m',
            width: 80,
-           dataIndex: '5s'
+           dataIndex: '5m',
        },
        {
-           header: '10s',
+           header: '10m',
            width: 80,
-           dataIndex: '10s'
+           dataIndex: '10m',
        },
        {
-           header: '20s',
+           header: '20m',
            width: 80,
-           dataIndex: '20s'
+           dataIndex: '20m',
        },
        {
-           header: '40s',
+           header: '40m',
            width: 80,
-           dataIndex: '40s'
+           dataIndex: '40m',
        },
        {
-           header: '80s',
+           header: '80m',
            width: 80,
-           dataIndex: '80s'
+           dataIndex: '80m',
        },
        {
-           header: '160s',
+           header: '160m',
            width: 80,
-           dataIndex: '160s'
+           dataIndex: '160m',
        },
        {
-           header: '320s',
+           header: '320m',
            width: 80,
-           dataIndex: '320s'
+           dataIndex: '320m',
        },
        {
-           header: '640s',
+           header: '640m',
            width: 80,
-           dataIndex: '640s'
+           dataIndex: '640m',
        },
        {
-           header: '1280s',
+           header: '1280m',
            width: 80,
-           dataIndex: '1280s'
+           dataIndex: '1280m',
        },
        {
-           header: '1280s+',
+           header: '1280m+',
            width: 80,
-           dataIndex: '1280s+'
-       }
-    ]
+           dataIndex: '1280m+',
+       },
+    ],
+
+    setNodename: function(nodename) {
+       var me = this;
+
+       me.nodename = nodename;
+
+       me.store.setProxy({
+           type: 'proxmox',
+           url: "/api2/json/nodes/" + me.nodename + "/postfix/qshape",
+       });
+
+       me.store.load();
+    },
+
 });