]>
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 | |
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 | }); |