]> git.proxmox.com Git - pmg-gui.git/blob - js/MailProxyOptions.js
5d38efbc047b4d07112762dfaef2c5752a353e21
[pmg-gui.git] / js / MailProxyOptions.js
1 Ext.define('PMG.MailProxyOptions', {
2 extend: 'Proxmox.grid.ObjectGrid',
3 alias: ['widget.pmgMailProxyOptions'],
4
5 initComponent : function() {
6 var me = this;
7
8 me.add_integer_row('maxsize', gettext('Message Size (bytes)'),
9 { defaultValue: 1024*1024*10,
10 minValue: 1024, deleteEmpty: true });
11
12 me.add_boolean_row('rejectunknown', gettext('Reject Unknown Clients'));
13
14 me.add_boolean_row('rejectunknownsender', gettext('Reject Unknown Senders'));
15
16 me.add_boolean_row('helotests', gettext('SMTP HELO checks'));
17
18 me.add_boolean_row('use_rbl', gettext('Use RBL checks'),
19 { defaultValue: 1 });
20
21 me.rows.verifyreceivers = {
22 required: true,
23 header: gettext('Verify Receivers'),
24 renderer: function(value) {
25 if (value === undefined) {
26 return Proxmox.Utils.noText;
27 }
28 return Proxmox.Utils.yesText + ' (' + value + ')';
29 },
30 editor: {
31 xtype: 'proxmoxWindowEdit',
32 subject: gettext('Verify Receivers'),
33 items: {
34 xtype: 'proxmoxKVComboBox',
35 name: 'verifyreceivers',
36 value: '__default__',
37 comboItems: [
38 ['__default__', Proxmox.Utils.noText],
39 ['450', Proxmox.Utils.yesText + ' (450)'],
40 ['550', Proxmox.Utils.yesText + ' (550)']],
41 deleteEmpty: true,
42 fieldLabel: gettext('Verify Receivers')
43 }
44 }
45 };
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 me.add_text_row('banner', gettext('SMTPD Banner'),
67 { defaultValue: 'ESMTP Proxmox' });
68
69 var baseurl = '/config/mail';
70
71 me.selModel = Ext.create('Ext.selection.RowModel', {});
72
73 Ext.apply(me, {
74 tbar: [{
75 text: gettext('Edit'),
76 xtype: 'proxmoxButton',
77 disabled: true,
78 handler: function() { me.run_editor() },
79 selModel: me.selModel
80 }],
81 url: '/api2/json' + baseurl,
82 editorConfig: {
83 url: '/api2/extjs' + baseurl,
84 },
85 interval: 5000,
86 cwidth1: 200,
87 listeners: {
88 itemdblclick: me.run_editor
89 }
90 });
91
92 me.callParent();
93
94 me.on('activate', me.rstore.startUpdate);
95 me.on('destroy', me.rstore.stopUpdate);
96 }
97 });