]> git.proxmox.com Git - pmg-gui.git/blobdiff - js/RelayDomains.js
utils: fix typo in url
[pmg-gui.git] / js / RelayDomains.js
index c37f6e12068c7859480b37760ea9c14eb0500424..ec43aa15ea3d1b2a46ed61d5d0c4cb5dd31908f7 100644 (file)
@@ -1,26 +1,31 @@
 Ext.define('pmg-domains', {
     extend: 'Ext.data.Model',
-    fields: [ 'domain', 'comment' ],
-    proxy: {
-        type: 'proxmox',
-       url: "/api2/json/config/domains"
-    },
-    idProperty: 'domain'
+    fields: ['domain', 'comment'],
+    idProperty: 'domain',
 });
 
 Ext.define('PMG.RelayDomains', {
     extend: 'Ext.grid.GridPanel',
     alias: ['widget.pmgRelayDomains'],
 
-    initComponent : function() {
+    baseurl: '/config/domains',
+    domain_desc: gettext('Relay Domain'),
+
+    onlineHelp: 'pmgconfig_mailproxy_relay_domains',
+
+    initComponent: function() {
        var me = this;
 
        var store = new Ext.data.Store({
            model: 'pmg-domains',
            sorters: {
                property: 'domain',
-               order: 'DESC'
-           }
+               direction: 'ASC',
+           },
+           proxy: {
+               type: 'proxmox',
+               url: '/api2/json' + me.baseurl,
+           },
        });
 
         var reload = function() {
@@ -29,28 +34,11 @@ Ext.define('PMG.RelayDomains', {
 
        me.selModel = Ext.create('Ext.selection.RowModel', {});
 
-       var remove_btn = Ext.createWidget('proxmoxButton', {
-           text: gettext('Remove'),
-           disabled: true,
+       var remove_btn = Ext.createWidget('proxmoxStdRemoveButton', {
            selModel: me.selModel,
-           confirmMsg: function (rec) {
-               return Ext.String.format(
-                   gettext('Are you sure you want to remove entry {0}'),
-                   "'" + rec.data.domain + "'");
-           },
-           handler: function(btn, event, rec) {
-               Proxmox.Utils.API2Request({
-                   url: '/config/domains/' + rec.data.domain,
-                   method: 'DELETE',
-                   waitMsgTarget: me,
-                   callback: function() {
-                       reload();
-                   },
-                   failure: function (response, opts) {
-                       Ext.Msg.alert(gettext('Error'), response.htmlStatus);
-                   }
-               });
-           }
+           baseurl: me.baseurl,
+           callback: reload,
+           waitMsgTarget: me,
        });
 
        var run_editor = function() {
@@ -60,21 +48,22 @@ Ext.define('PMG.RelayDomains', {
            }
 
            var config = {
-               url: "/api2/extjs/config/domains/" + rec.data.domain,
+               url: '/api2/extjs' + me.baseurl + '/' + rec.data.domain,
+               onlineHelp: me.onlineHelp,
                method: 'PUT',
-               subject: gettext("Relay Domain"),
+               subject: me.domain_desc,
                items: [
                    {
                        xtype: 'displayfield',
                        name: 'domain',
-                       fieldLabel: gettext("Relay Domain")
+                       fieldLabel: me.domain_desc,
                    },
                    {
                        xtype: 'textfield',
                        name: 'comment',
-                       fieldLabel: gettext("Comment")
-                   }
-               ]
+                       fieldLabel: gettext("Comment"),
+                   },
+               ],
            };
 
            var win = Ext.createWidget('proxmoxWindowEdit', config);
@@ -90,68 +79,70 @@ Ext.define('PMG.RelayDomains', {
                text: gettext('Edit'),
                disabled: true,
                selModel: me.selModel,
-               handler: run_editor
+               handler: run_editor,
             },
             {
                text: gettext('Create'),
                handler: function() {
                    var config = {
                        method: 'POST',
-                       url: "/api2/extjs/config/domains",
-                       create: true,
+                       url: '/api2/extjs' + me.baseurl,
+                       onlineHelp: me.onlineHelp,
+                       isCreate: true,
                        subject: gettext("Relay Domain"),
                        items: [
                            {
                                xtype: 'proxmoxtextfield',
                                name: 'domain',
-                               fieldLabel: gettext("Relay Domain")
+                               fieldLabel: me.domain_desc,
                            },
                            {
                                xtype: 'proxmoxtextfield',
                                name: 'comment',
-                               fieldLabel: gettext("Comment")
-                           }
-                       ]
+                               fieldLabel: gettext("Comment"),
+                           },
+                       ],
                    };
 
                    var win = Ext.createWidget('proxmoxWindowEdit', config);
 
                    win.on('destroy', reload);
                    win.show();
-               }
+               },
             },
-           remove_btn
+           remove_btn,
         ];
 
-       Proxmox.Utils.monStoreErrors(me, store);
+       Proxmox.Utils.monStoreErrors(me, store, true);
 
        Ext.apply(me, {
            store: store,
            tbar: tbar,
+           run_editor: run_editor,
            viewConfig: {
-               trackOver: false
+               trackOver: false,
            },
            columns: [
                {
-                   header: gettext('Relay Domain'),
+                   header: me.domain_desc,
                    width: 200,
                    sortable: true,
-                   dataIndex: 'domain'
+                   dataIndex: 'domain',
                },
                {
                    header: gettext('Comment'),
                    sortable: false,
                    renderer: Ext.String.htmlEncode,
                    dataIndex: 'comment',
-                   flex: 1
-               }
+                   flex: 1,
+               },
            ],
            listeners: {
                itemdblclick: run_editor,
-               activate: reload
-           }
+               activate: reload,
+           },
        });
 
        me.callParent();
-    }
+    },
 });