]> git.proxmox.com Git - pmg-gui.git/blame - js/MailProxyOptions.js
add SpamDetectorStatus.js
[pmg-gui.git] / js / MailProxyOptions.js
CommitLineData
ff735274 1/*global Proxmox*/
7b27b6bc
DM
2Ext.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
dfe9fc4b
DM
21 me.add_boolean_row('use_rbl', gettext('Use RBL checks'),
22 { defaultValue: 1 });
e866b4e7 23
527c093e
DM
24 var render_verifyreceivers = function(value) {
25 if (value === undefined || value === '__default__') {
26 return Proxmox.Utils.noText;
b8abd282 27 }
527c093e 28 return Proxmox.Utils.yesText + ' (' + value + ')';
b8abd282 29 };
e866b4e7 30
de0ebd99
DC
31 /*jslint confusion: true*/
32 /*defaultValue is string and number*/
527c093e
DM
33 me.add_combobox_row('verifyreceivers', gettext('Verify Receivers'), {
34 renderer: render_verifyreceivers,
35 defaultValue: '__default__',
36 deleteEmpty: true,
37 comboItems: [
38 ['__default__', render_verifyreceivers('__default__') ],
39 ['450', render_verifyreceivers('450') ],
40 ['550', render_verifyreceivers('550') ]]
41 });
de0ebd99 42 /*jslint confusion: false*/
527c093e 43
dfe9fc4b
DM
44 me.add_boolean_row('greylist', gettext('Use Greylisting'),
45 { defaultValue: 1 });
e866b4e7 46
dfe9fc4b 47 me.add_boolean_row('spf', gettext('Use SPF'), { defaultValue: 1 });
e866b4e7 48
dfe9fc4b 49 me.add_boolean_row('hide_received', gettext('Hide Internal Hosts'));
e866b4e7 50
dfe9fc4b
DM
51 me.add_integer_row('dwarning', gettext('Delay Warning Time (hours)'),
52 { defaultValue: 4, minValue: 0 });
e866b4e7 53
dfe9fc4b
DM
54 me.add_integer_row('conn_count_limit', gettext('Client Connection Count Limit'),
55 { defaultValue: 50, minValue: 0, maxValue: 65535 });
e866b4e7 56
dfe9fc4b
DM
57 me.add_integer_row('conn_rate_limit', gettext('Client Connection Rate Limit'),
58 { defaultValue: 0, minValue: 0 });
e866b4e7 59
dfe9fc4b
DM
60 me.add_integer_row('message_rate_limit', gettext('Client Message Rate Limit'),
61 { defaultValue: 0, minValue: 0 });
e866b4e7 62
de0ebd99
DC
63 /*jslint confusion: true*/
64 /*defaultValue is string and number*/
3c2246f4 65 me.add_text_row('banner', gettext('SMTPD Banner'),
6ccd0a47 66 { deleteEmpty: true, defaultValue: 'ESMTP Proxmox' });
de0ebd99 67 /*jslint confusion: false*/
7b27b6bc
DM
68
69 var baseurl = '/config/mail';
70
d80ddaf7
DM
71 me.selModel = Ext.create('Ext.selection.RowModel', {});
72
7b27b6bc 73 Ext.apply(me, {
d80ddaf7
DM
74 tbar: [{
75 text: gettext('Edit'),
76 xtype: 'proxmoxButton',
77 disabled: true,
131ba4f6 78 handler: function() { me.run_editor(); },
d80ddaf7
DM
79 selModel: me.selModel
80 }],
7b27b6bc
DM
81 url: '/api2/json' + baseurl,
82 editorConfig: {
771bd0b9 83 url: '/api2/extjs' + baseurl
7b27b6bc
DM
84 },
85 interval: 5000,
86 cwidth1: 200,
7b27b6bc
DM
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);
00564597 96 me.on('deactivate', me.rstore.stopUpdate);
7b27b6bc
DM
97 }
98});