},
{
title: gettext('Ports'),
- html: "Ports",
+ xtype: 'pmgMailProxyPorts'
},
{
title: gettext('Options'),
--- /dev/null
+Ext.define('PMG.MailProxyPorts', {
+ extend: 'Proxmox.grid.ObjectGrid',
+ alias: ['widget.pmgMailProxyPorts'],
+
+ initComponent : function() {
+ var me = this;
+
+ var rows = {
+ ext_port: {
+ required: true,
+ defaultValue: 26,
+ header: gettext('External SMTP Port'),
+ editor: {
+ xtype: 'proxmoxWindowEdit',
+ subject: gettext('External SMTP Port'),
+ items: {
+ xtype: 'proxmoxintegerfield',
+ name: 'ext_port',
+ minValue: 1,
+ maxValue: 65535,
+ deleteEmpty: true,
+ value: 26,
+ labelWidth: 150,
+ fieldLabel: gettext('External SMTP Port')
+ }
+ }
+ },
+ int_port: {
+ required: true,
+ defaultValue: 25,
+ header: gettext('Internal SMTP Port'),
+ editor: {
+ xtype: 'proxmoxWindowEdit',
+ subject: gettext('Internal SMTP Port'),
+ items: {
+ xtype: 'proxmoxintegerfield',
+ name: 'int_port',
+ minValue: 1,
+ maxValue: 65535,
+ deleteEmpty: true,
+ value: 25,
+ labelWidth: 150,
+ fieldLabel: gettext('Internal SMTP Port')
+ }
+ }
+ }
+ };
+
+ var baseurl = '/config/mail';
+
+ Ext.apply(me, {
+ url: '/api2/json' + baseurl,
+ editorConfig: {
+ url: '/api2/extjs' + baseurl,
+ },
+ interval: 5000,
+ cwidth1: 200,
+ rows: rows,
+ listeners: {
+ itemdblclick: me.run_editor
+ }
+ });
+
+ me.callParent();
+
+ me.on('activate', me.rstore.startUpdate);
+ me.on('destroy', me.rstore.stopUpdate);
+ }
+});
header: gettext('SMTP port'),
editor: {
xtype: 'proxmoxWindowEdit',
- subject: gettext('SMTP port'),
+ subject: gettext('SMTP Port'),
items: {
xtype: 'proxmoxintegerfield',
name: 'relayport',
var baseurl = '/config/mail';
- var reload = function() {
- me.rstore.load();
- };
-
- var run_editor = function() {
- var sm = me.getSelectionModel();
- var rec = sm.getSelection()[0];
- if (!rec) {
- return;
- }
-
- var rowdef = rows[rec.data.key];
- if (!rowdef.editor) {
- return;
- }
-
- var win;
- if (Ext.isString(rowdef.editor)) {
- win = Ext.create(rowdef.editor, {
- confid: rec.data.key,
- url: '/api2/extjs/' + baseurl
- });
- } else {
- var config = Ext.apply({
- confid: rec.data.key,
- url: '/api2/extjs/' + baseurl
- }, rowdef.editor);
- win = Ext.createWidget(rowdef.editor.xtype, config);
- win.load();
- }
-
- win.show();
- win.on('destroy', reload);
- };
-
Ext.apply(me, {
- url: '/api2/json/' + baseurl,
+ url: '/api2/json' + baseurl,
+ editorConfig: {
+ url: '/api2/extjs' + baseurl,
+ },
interval: 5000,
cwidth1: 200,
rows: rows,
listeners: {
- itemdblclick: run_editor
+ itemdblclick: me.run_editor
}
});
RuleConfiguration.js \
SystemConfiguration.js \
MailProxyRelaying.js \
+ MailProxyPorts.js \
MailProxyConfiguration.js \
ConfigPanel.js \
Workspace.js