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