pmg-gui/js/MailProxyOptions.js
2017-02-24 17:45:43 +01:00

78 lines
2.0 KiB
JavaScript

Ext.define('PMG.MailProxyOptions', {
extend: 'Proxmox.grid.ObjectGrid',
alias: ['widget.pmgMailProxyOptions'],
initComponent : function() {
var me = this;
me.add_integer_row('maxsize', gettext('Message Size (bytes)'),
{ defaultValue: 1024*1024*10,
minValue: 1024, deleteEmpty: true });
me.add_boolean_row('rejectunknown', gettext('Reject Unknown Clients'));
me.add_boolean_row('rejectunknownsender', gettext('Reject Unknown Senders'));
me.add_boolean_row('helotests', gettext('SMTP HELO checks'));
me.add_boolean_row('use_rbl', gettext('Use RBL checks'),
{ defaultValue: 1 });
// fixme: verify receivers
me.add_boolean_row('greylist', gettext('Use Greylisting'),
{ defaultValue: 1 });
me.add_boolean_row('spf', gettext('Use SPF'), { defaultValue: 1 });
me.add_boolean_row('hide_received', gettext('Hide Internal Hosts'));
me.add_integer_row('dwarning', gettext('Delay Warning Time (hours)'),
{ defaultValue: 4, minValue: 0 });
me.add_integer_row('conn_count_limit', gettext('Client Connection Count Limit'),
{ defaultValue: 50, minValue: 0, maxValue: 65535 });
me.add_integer_row('conn_rate_limit', gettext('Client Connection Rate Limit'),
{ defaultValue: 0, minValue: 0 });
me.add_integer_row('message_rate_limit', gettext('Client Message Rate Limit'),
{ defaultValue: 0, minValue: 0 });
me.rows.banner = {
required: true,
defaultValue: 'ESMTP Proxmox',
header: gettext('SMTPD Banner'),
editor: {
xtype: 'proxmoxWindowEdit',
subject: gettext('SMTPD Banner'),
items: {
xtype: 'proxmoxtextfield',
name: 'banner',
deleteEmpty: true,
fieldLabel: gettext('SMTPD Banner')
}
}
};
var baseurl = '/config/mail';
Ext.apply(me, {
url: '/api2/json' + baseurl,
editorConfig: {
url: '/api2/extjs' + baseurl,
},
interval: 5000,
cwidth1: 200,
listeners: {
itemdblclick: me.run_editor
}
});
me.callParent();
me.on('activate', me.rstore.startUpdate);
me.on('destroy', me.rstore.stopUpdate);
}
});