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