]> git.proxmox.com Git - pmg-gui.git/blame - js/MailProxyOptions.js
buildsys: makefiles convert to use simple parenthesis
[pmg-gui.git] / js / MailProxyOptions.js
CommitLineData
7b27b6bc
DM
1Ext.define('PMG.MailProxyOptions', {
2 extend: 'Proxmox.grid.ObjectGrid',
3 alias: ['widget.pmgMailProxyOptions'],
4
5e453db7
DM
5 monStoreErrors: true,
6
c87d46fb 7 initComponent: function() {
7b27b6bc
DM
8 var me = this;
9
dfe9fc4b 10 me.add_integer_row('maxsize', gettext('Message Size (bytes)'),
c87d46fb
TL
11 {
12 defaultValue: 1024*1024*10,
13 minValue: 1024, deleteEmpty: true,
14});
e866b4e7 15
dfe9fc4b 16 me.add_boolean_row('rejectunknown', gettext('Reject Unknown Clients'));
e866b4e7 17
dfe9fc4b 18 me.add_boolean_row('rejectunknownsender', gettext('Reject Unknown Senders'));
e866b4e7 19
dfe9fc4b 20 me.add_boolean_row('helotests', gettext('SMTP HELO checks'));
e866b4e7 21
47ee337f
DM
22 me.add_text_row('dnsbl_sites', gettext('DNSBL Sites'),
23 { deleteEmpty: true, defaultValue: Proxmox.Utils.noneText });
e866b4e7 24
feb7e678 25 me.add_integer_row('dnsbl_threshold', gettext('DNSBL Threshold'),
f31c7df9 26 { deleteEmpty: true, defaultValue: 1, minValue: 0 });
feb7e678 27
527c093e
DM
28 var render_verifyreceivers = function(value) {
29 if (value === undefined || value === '__default__') {
30 return Proxmox.Utils.noText;
b8abd282 31 }
527c093e 32 return Proxmox.Utils.yesText + ' (' + value + ')';
b8abd282 33 };
e866b4e7 34
527c093e
DM
35 me.add_combobox_row('verifyreceivers', gettext('Verify Receivers'), {
36 renderer: render_verifyreceivers,
37 defaultValue: '__default__',
38 deleteEmpty: true,
39 comboItems: [
c87d46fb
TL
40 ['__default__', render_verifyreceivers('__default__')],
41 ['450', render_verifyreceivers('450')],
42 ['550', render_verifyreceivers('550')]],
527c093e
DM
43 });
44
62a6bcc8 45 me.add_boolean_row('greylist', gettext('Use Greylisting for IPv4'),
dfe9fc4b 46 { defaultValue: 1 });
e866b4e7 47
62a6bcc8 48 me.add_integer_row('greylistmask4', gettext('Netmask for Greylisting IPv4'),
8ffa8523 49 { defaultValue: 24, minValue: 0, maxValue: 32 });
62a6bcc8
SI
50
51 me.add_boolean_row('greylist6', gettext('Use Greylisting for IPv6'),
52 { defaultValue: 0 });
53
54 me.add_integer_row('greylistmask6', gettext('Netmask for Greylisting IPv6'),
8ffa8523 55 { defaultValue: 64, minValue: 0, maxValue: 128 });
62a6bcc8 56
dfe9fc4b 57 me.add_boolean_row('spf', gettext('Use SPF'), { defaultValue: 1 });
e866b4e7 58
dfe9fc4b 59 me.add_boolean_row('hide_received', gettext('Hide Internal Hosts'));
e866b4e7 60
dfe9fc4b
DM
61 me.add_integer_row('dwarning', gettext('Delay Warning Time (hours)'),
62 { defaultValue: 4, minValue: 0 });
e866b4e7 63
dfe9fc4b
DM
64 me.add_integer_row('conn_count_limit', gettext('Client Connection Count Limit'),
65 { defaultValue: 50, minValue: 0, maxValue: 65535 });
e866b4e7 66
dfe9fc4b
DM
67 me.add_integer_row('conn_rate_limit', gettext('Client Connection Rate Limit'),
68 { defaultValue: 0, minValue: 0 });
e866b4e7 69
dfe9fc4b
DM
70 me.add_integer_row('message_rate_limit', gettext('Client Message Rate Limit'),
71 { defaultValue: 0, minValue: 0 });
e866b4e7 72
3c2246f4 73 me.add_text_row('banner', gettext('SMTPD Banner'),
6ccd0a47 74 { deleteEmpty: true, defaultValue: 'ESMTP Proxmox' });
7b27b6bc 75
28c12d95 76 me.add_boolean_row('ndr_on_block', gettext('Send NDR on Blocked E-Mails'));
5883753d
TL
77 // FIXME allow to pass onlineHelp to ObjectGrid's add_xyz_row..
78 // onlineHelp: 'pmgconfig_mailproxy_before_after_queue',
79 me.rows.ndr_on_block.editor.onlineHelp = 'pmgconfig_mailproxy_before_after_queue';
28c12d95 80
bafcdcf8
SI
81 me.add_boolean_row('before_queue_filtering', gettext('Before Queue Filtering'));
82
7b27b6bc
DM
83 var baseurl = '/config/mail';
84
d80ddaf7
DM
85 me.selModel = Ext.create('Ext.selection.RowModel', {});
86
7b27b6bc 87 Ext.apply(me, {
d80ddaf7
DM
88 tbar: [{
89 text: gettext('Edit'),
90 xtype: 'proxmoxButton',
91 disabled: true,
131ba4f6 92 handler: function() { me.run_editor(); },
c87d46fb 93 selModel: me.selModel,
d80ddaf7 94 }],
7b27b6bc
DM
95 url: '/api2/json' + baseurl,
96 editorConfig: {
573a6e8b 97 url: '/api2/extjs' + baseurl,
c87d46fb 98 onlineHelp: 'pmgconfig_mailproxy_options',
7b27b6bc
DM
99 },
100 interval: 5000,
101 cwidth1: 200,
7b27b6bc 102 listeners: {
c87d46fb
TL
103 itemdblclick: me.run_editor,
104 },
7b27b6bc
DM
105 });
106
107 me.callParent();
108
109 me.on('activate', me.rstore.startUpdate);
110 me.on('destroy', me.rstore.stopUpdate);
00564597 111 me.on('deactivate', me.rstore.stopUpdate);
c87d46fb 112 },
7b27b6bc 113});