]>
Commit | Line | Data |
---|---|---|
b5d7e0ca DM |
1 | Ext.define('PMG.SpamDetectorOptions', { |
2 | extend: 'Proxmox.grid.ObjectGrid', | |
3 | alias: ['widget.pmgSpamDetectorOptions'], | |
4 | ||
5e453db7 DM |
5 | monStoreErrors: true, |
6 | ||
c87d46fb | 7 | initComponent: function() { |
b5d7e0ca DM |
8 | var me = this; |
9 | ||
10 | me.add_boolean_row('use_awl', gettext('Use auto-whitelists'), | |
5b698165 | 11 | { defaultValue: 0 }); |
b5d7e0ca DM |
12 | |
13 | me.add_boolean_row('use_bayes', gettext('Use Bayesian filter'), | |
5b698165 | 14 | { defaultValue: 0 }); |
c87d46fb | 15 | |
b5d7e0ca DM |
16 | me.add_boolean_row('rbl_checks', gettext('Use RBL checks'), |
17 | { defaultValue: 1 }); | |
18 | ||
dbda33bb DM |
19 | me.add_boolean_row('use_razor', gettext('Use Razor2 checks'), |
20 | { defaultValue: 1 }); | |
21 | ||
476088ee SI |
22 | me.add_boolean_row('extract_text', gettext('Extract Text from Attachments')); |
23 | ||
b5d7e0ca | 24 | me.add_integer_row('maxspamsize', gettext('Max Spam Size (bytes)'), |
c87d46fb TL |
25 | { |
26 | defaultValue: 256*1024, | |
27 | minValue: 64, deleteEmpty: true, | |
28 | }); | |
b5d7e0ca | 29 | |
8dca8d1d DM |
30 | me.rows.languages = { |
31 | required: true, | |
32 | header: gettext('Languages'), | |
33 | editor: 'PMG.SpamDetectorLanguages', | |
34 | renderer: function(value) { | |
5a768cc5 | 35 | return value || 'all'; |
c87d46fb | 36 | }, |
8dca8d1d DM |
37 | }; |
38 | ||
d853d9a2 | 39 | me.add_integer_row('bounce_score', gettext('Backscatter Score'), |
c87d46fb TL |
40 | { |
41 | defaultValue: 0, | |
d853d9a2 | 42 | minValue: 0, maxValue: 1000, |
c87d46fb TL |
43 | deleteEmpty: true, |
44 | }); | |
d853d9a2 | 45 | |
85e32981 | 46 | me.add_integer_row('clamav_heuristic_score', gettext('Heuristic Score'), |
c87d46fb TL |
47 | { |
48 | defaultValue: 3, | |
85e32981 | 49 | minValue: 0, maxValue: 1000, |
c87d46fb TL |
50 | deleteEmpty: true, |
51 | }); | |
85e32981 | 52 | |
b5d7e0ca DM |
53 | var baseurl = '/config/spam'; |
54 | ||
55 | me.selModel = Ext.create('Ext.selection.RowModel', {}); | |
56 | ||
57 | Ext.apply(me, { | |
58 | tbar: [{ | |
59 | text: gettext('Edit'), | |
60 | xtype: 'proxmoxButton', | |
61 | disabled: true, | |
131ba4f6 | 62 | handler: function() { me.run_editor(); }, |
c87d46fb | 63 | selModel: me.selModel, |
b5d7e0ca DM |
64 | }], |
65 | url: '/api2/json' + baseurl, | |
66 | editorConfig: { | |
573a6e8b | 67 | url: '/api2/extjs' + baseurl, |
c87d46fb | 68 | onlineHelp: 'pmgconfig_spamdetector', |
b5d7e0ca DM |
69 | }, |
70 | interval: 5000, | |
71 | cwidth1: 200, | |
72 | listeners: { | |
c87d46fb TL |
73 | itemdblclick: me.run_editor, |
74 | }, | |
b5d7e0ca DM |
75 | }); |
76 | ||
77 | me.callParent(); | |
78 | ||
79 | me.on('activate', me.rstore.startUpdate); | |
80 | me.on('destroy', me.rstore.stopUpdate); | |
00564597 | 81 | me.on('deactivate', me.rstore.stopUpdate); |
c87d46fb | 82 | }, |
b5d7e0ca | 83 | }); |