]>
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'), | |
11 | { defaultValue: 1 }); | |
12 | ||
13 | me.add_boolean_row('use_bayes', gettext('Use Bayesian filter'), | |
14 | { defaultValue: 1 }); | |
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 | ||
b5d7e0ca | 22 | me.add_integer_row('maxspamsize', gettext('Max Spam Size (bytes)'), |
c87d46fb TL |
23 | { |
24 | defaultValue: 256*1024, | |
25 | minValue: 64, deleteEmpty: true, | |
26 | }); | |
b5d7e0ca | 27 | |
8dca8d1d DM |
28 | me.rows.languages = { |
29 | required: true, | |
30 | header: gettext('Languages'), | |
31 | editor: 'PMG.SpamDetectorLanguages', | |
32 | renderer: function(value) { | |
5a768cc5 | 33 | return value || 'all'; |
c87d46fb | 34 | }, |
8dca8d1d DM |
35 | }; |
36 | ||
d853d9a2 | 37 | me.add_integer_row('bounce_score', gettext('Backscatter Score'), |
c87d46fb TL |
38 | { |
39 | defaultValue: 0, | |
d853d9a2 | 40 | minValue: 0, maxValue: 1000, |
c87d46fb TL |
41 | deleteEmpty: true, |
42 | }); | |
d853d9a2 | 43 | |
85e32981 | 44 | me.add_integer_row('clamav_heuristic_score', gettext('Heuristic Score'), |
c87d46fb TL |
45 | { |
46 | defaultValue: 3, | |
85e32981 | 47 | minValue: 0, maxValue: 1000, |
c87d46fb TL |
48 | deleteEmpty: true, |
49 | }); | |
85e32981 | 50 | |
b5d7e0ca DM |
51 | var baseurl = '/config/spam'; |
52 | ||
53 | me.selModel = Ext.create('Ext.selection.RowModel', {}); | |
54 | ||
55 | Ext.apply(me, { | |
56 | tbar: [{ | |
57 | text: gettext('Edit'), | |
58 | xtype: 'proxmoxButton', | |
59 | disabled: true, | |
131ba4f6 | 60 | handler: function() { me.run_editor(); }, |
c87d46fb | 61 | selModel: me.selModel, |
b5d7e0ca DM |
62 | }], |
63 | url: '/api2/json' + baseurl, | |
64 | editorConfig: { | |
573a6e8b | 65 | url: '/api2/extjs' + baseurl, |
c87d46fb | 66 | onlineHelp: 'pmgconfig_spamdetector', |
b5d7e0ca DM |
67 | }, |
68 | interval: 5000, | |
69 | cwidth1: 200, | |
70 | listeners: { | |
c87d46fb TL |
71 | itemdblclick: me.run_editor, |
72 | }, | |
b5d7e0ca DM |
73 | }); |
74 | ||
75 | me.callParent(); | |
76 | ||
77 | me.on('activate', me.rstore.startUpdate); | |
78 | me.on('destroy', me.rstore.stopUpdate); | |
00564597 | 79 | me.on('deactivate', me.rstore.stopUpdate); |
c87d46fb | 80 | }, |
b5d7e0ca | 81 | }); |