]> git.proxmox.com Git - pmg-gui.git/blobdiff - js/FetchmailView.js
rules/objects: add mode selector dropdown
[pmg-gui.git] / js / FetchmailView.js
index 30c157f023e35957bcf959e506fb3857689ae0be..2a6e6438b75e18aff0452171bcd47f122fe9905b 100644 (file)
@@ -8,9 +8,9 @@ Ext.define('pmg-fetchmail-users', {
     ],
     proxy: {
         type: 'proxmox',
-       url: "/api2/json/config/fetchmail"
+       url: "/api2/json/config/fetchmail",
     },
-    idProperty: 'id'
+    idProperty: 'id',
 });
 
 Ext.define('PMG.FetchmailView', {
@@ -22,7 +22,7 @@ Ext.define('PMG.FetchmailView', {
     store: {
        autoDestroy: true,
        autoLoad: true,
-       model: 'pmg-fetchmail-users'
+       model: 'pmg-fetchmail-users',
     },
 
     controller: {
@@ -33,6 +33,17 @@ Ext.define('PMG.FetchmailView', {
            Proxmox.Utils.monStoreErrors(view, view.store, true);
        },
 
+       onAdd: function() {
+           var view = this.getView();
+
+            var win = Ext.create('PMG.FetchmailEdit', {
+               url: view.baseurl,
+               method: 'POST',
+            });
+            win.on('destroy', function() { view.store.load(); });
+            win.show();
+       },
+
        onEdit: function() {
            var view = this.getView();
 
@@ -42,7 +53,7 @@ Ext.define('PMG.FetchmailView', {
                userid: rec.data.id,
                url: view.baseurl + '/' + rec.data.id,
                method: 'PUT',
-               autoLoad: true
+               autoLoad: true,
             });
             win.on('destroy', function() { view.store.load(); });
             win.show();
@@ -51,16 +62,27 @@ Ext.define('PMG.FetchmailView', {
        onAfterRemove: function(btn, res) {
            var view = this.getView();
            view.store.load();
-       }
+       },
     },
 
     tbar: [
+        {
+           text: gettext('Add'),
+           reference: 'addBtn',
+           handler: 'onAdd',
+       },
+       {
+           xtype: 'proxmoxButton',
+           text: gettext('Edit'),
+           disabled: true,
+           handler: 'onEdit',
+       },
        {
            xtype: 'proxmoxStdRemoveButton',
            baseurl: '/config/fetchmail',
            reference: 'removeBtn',
            callback: 'onAfterRemove',
-           waitMsgTarget: true
+           waitMsgTarget: true,
        },
     ],
 
@@ -74,29 +96,33 @@ Ext.define('PMG.FetchmailView', {
            header: gettext('Server'),
            flex: 1,
            renderer: Ext.String.htmlEncode,
-           dataIndex: 'server'
+           dataIndex: 'server',
+       },
+       {
+           header: gettext('Protocol'),
+           dataIndex: 'protocol',
        },
        {
            header: gettext('User name'),
            flex: 1,
            renderer: Ext.String.htmlEncode,
-           dataIndex: 'user'
+           dataIndex: 'user',
        },
        {
            header: gettext('Deliver to'),
            flex: 1,
            renderer: Ext.String.htmlEncode,
-           dataIndex: 'target'
+           dataIndex: 'target',
        },
        {
            header: gettext('Enabled'),
            sortable: true,
            renderer: Proxmox.Utils.format_boolean,
-           dataIndex: 'enable'
+           dataIndex: 'enable',
        },
        {
            header: gettext('Interval'),
-           dataIndex: 'interval'
-       }
-     ]
+           dataIndex: 'interval',
+       },
+     ],
 });