]>
Commit | Line | Data |
---|---|---|
1 | Ext.define('PMG.SpamQuarantineOptions', { | |
2 | extend: 'Proxmox.grid.ObjectGrid', | |
3 | alias: ['widget.pmgSpamQuarantineOptions'], | |
4 | ||
5 | monStoreErrors: true, | |
6 | ||
7 | authmodeTextHash: { | |
8 | ticket: 'Ticket', | |
9 | ldap: 'LDAP', | |
10 | ldapticket: 'LDAP or Ticket', | |
11 | }, | |
12 | ||
13 | reportstyleTextHash: { | |
14 | none: gettext('No Reports'), | |
15 | 'short': gettext('Short'), | |
16 | verbose: gettext('Verbose'), | |
17 | custom: gettext('Custom'), | |
18 | }, | |
19 | ||
20 | initComponent: function() { | |
21 | var me = this; | |
22 | ||
23 | me.add_integer_row('lifetime', gettext('Lifetime (days)'), | |
24 | { | |
25 | minValue: 1, defaultValue: 7, | |
26 | deleteEmpty: true, | |
27 | }); | |
28 | ||
29 | var render_authmode = function(value) { | |
30 | return me.authmodeTextHash[value] || value; | |
31 | }; | |
32 | ||
33 | me.add_combobox_row('authmode', gettext('Authentication mode'), { | |
34 | defaultValue: 'ticket', | |
35 | renderer: render_authmode, | |
36 | comboItems: [ | |
37 | ['ticket', render_authmode('ticket')], | |
38 | ['ldap', render_authmode('ldap')], | |
39 | ['ldapticket', render_authmode('ldapticket')]], | |
40 | }); | |
41 | ||
42 | var render_reportstyle = function(value) { | |
43 | return me.reportstyleTextHash[value] || value; | |
44 | }; | |
45 | ||
46 | me.add_combobox_row('reportstyle', gettext('User Spamreport Style'), { | |
47 | defaultValue: 'verbose', | |
48 | renderer: render_reportstyle, | |
49 | comboItems: [ | |
50 | ['none', render_reportstyle('none')], | |
51 | ['short', render_reportstyle('short')], | |
52 | ['verbose', render_reportstyle('verbose')], | |
53 | ['custom', render_reportstyle('custom')]], | |
54 | }); | |
55 | ||
56 | me.add_text_row('hostname', gettext('Quarantine Host'), | |
57 | { deleteEmpty: true, defaultValue: Proxmox.Utils.noneText }); | |
58 | me.add_integer_row('port', gettext('Quarantine port'), | |
59 | { deleteEmpty: true, defaultValue: Proxmox.Utils.defaultText }); | |
60 | me.add_text_row('mailfrom', gettext("EMail 'From:'"), | |
61 | { deleteEmpty: true, defaultValue: Proxmox.Utils.noneText }); | |
62 | ||
63 | me.add_boolean_row('viewimages', gettext('View images'), | |
64 | { defaultValue: 1 }); | |
65 | ||
66 | me.add_boolean_row('allowhrefs', gettext('Allow HREFs'), | |
67 | { defaultValue: 1 }); | |
68 | ||
69 | var baseurl = '/config/spamquar'; | |
70 | ||
71 | me.selModel = Ext.create('Ext.selection.RowModel', {}); | |
72 | ||
73 | Ext.apply(me, { | |
74 | tbar: [{ | |
75 | text: gettext('Edit'), | |
76 | xtype: 'proxmoxButton', | |
77 | disabled: true, | |
78 | handler: function() { me.run_editor(); }, | |
79 | selModel: me.selModel, | |
80 | }], | |
81 | url: '/api2/json' + baseurl, | |
82 | editorConfig: { | |
83 | url: '/api2/extjs' + baseurl, | |
84 | onlineHelp: 'pmgconfig_spamdetector_quarantine', | |
85 | }, | |
86 | interval: 5000, | |
87 | cwidth1: 200, | |
88 | listeners: { | |
89 | itemdblclick: me.run_editor, | |
90 | }, | |
91 | }); | |
92 | ||
93 | me.callParent(); | |
94 | ||
95 | me.on('activate', me.rstore.startUpdate); | |
96 | me.on('destroy', me.rstore.stopUpdate); | |
97 | me.on('deactivate', me.rstore.stopUpdate); | |
98 | }, | |
99 | }); |