+/*global Proxmox*/
Ext.define('PMG.MailProxyRelaying', {
extend: 'Proxmox.grid.ObjectGrid',
alias: ['widget.pmgMailProxyRelaying'],
+ monStoreErrors: true,
+
initComponent : function() {
var me = this;
me.add_text_row('relay', gettext('Default Relay'),
- { defaultValue: Proxmox.Utils.noneText });
+ { deleteEmpty: true, defaultValue: Proxmox.Utils.noneText });
me.add_integer_row('relayport', gettext('SMTP Port'),
{ defaultValue: 25, deleteEmpty: true,
me.add_boolean_row('relaynomx', gettext('Disable MX lookup'));
- me.add_text_row('smarthost', gettext('Smarthost'),
- { defaultValue: Proxmox.Utils.noneText });
+ me.rows.smarthost = {
+ required: true,
+ multiKey: ['smarthost', 'smarthostport'],
+ header: gettext('Smarthost'),
+ renderer: function() {
+ var host = me.getObjectValue('smarthost', undefined);
+ var port = me.getObjectValue('smarthostport', undefined);
+ var result = '';
+ if (host) {
+ if (port) {
+ if (host.match(Proxmox.Utils.IP6_match)) {
+ result = "[" + host + "]:" + port;
+ } else {
+ result = host + ':' + port;
+ }
+ } else {
+ result = host;
+ }
+ }
+ if (result === '') {
+ result = Proxmox.Utils.noneText;
+ }
+ return result;
+ },
+ editor: {
+ xtype: 'proxmoxWindowEdit',
+ onlineHelp: 'pmgconfig_mailproxy_relaying',
+ subject: gettext('Smarthost'),
+ fieldDefaults: {
+ labelWidth: 100
+ },
+ items: [
+ {
+ xtype: 'proxmoxtextfield',
+ name: 'smarthost',
+ deleteEmpty: true,
+ emptyText: Proxmox.Utils.noneText,
+ fieldLabel: gettext('Smarthost')
+ },
+ {
+ xtype: 'proxmoxintegerfield',
+ name: 'smarthostport',
+ deleteEmpty: true,
+ minValue: 1,
+ maxValue: 65535,
+ emptyText: Proxmox.Utils.defaultText,
+ fieldLabel: gettext('Port')
+ }
+ ]
+ }
+ };
+
+ me.rows.smarthostport = { visible: false };
var baseurl = '/config/mail';
text: gettext('Edit'),
xtype: 'proxmoxButton',
disabled: true,
- handler: function() { me.run_editor() },
+ handler: function() { me.run_editor(); },
selModel: me.selModel
}],
url: '/api2/json' + baseurl,
editorConfig: {
url: '/api2/extjs' + baseurl,
+ onlineHelp: 'pmgconfig_mailproxy_relaying'
},
interval: 5000,
cwidth1: 200,
me.on('activate', me.rstore.startUpdate);
me.on('destroy', me.rstore.stopUpdate);
+ me.on('deactivate', me.rstore.stopUpdate);
}
});