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