]>
Commit | Line | Data |
---|---|---|
6ccd0a47 DM |
1 | Ext.define('PMG.SpamQuarantineOptions', { |
2 | extend: 'Proxmox.grid.ObjectGrid', | |
3 | alias: ['widget.pmgSpamQuarantineOptions'], | |
4 | ||
5e453db7 DM |
5 | monStoreErrors: true, |
6 | ||
6ccd0a47 DM |
7 | authmodeTextHash: { |
8 | ticket: 'Ticket', | |
9 | ldap: 'LDAP', | |
c87d46fb | 10 | ldapticket: 'LDAP or Ticket', |
6ccd0a47 DM |
11 | }, |
12 | ||
13 | reportstyleTextHash: { | |
14 | none: gettext('No Reports'), | |
15 | 'short': gettext('Short'), | |
16 | verbose: gettext('Verbose'), | |
c87d46fb | 17 | custom: gettext('Custom'), |
6ccd0a47 | 18 | }, |
c87d46fb TL |
19 | |
20 | initComponent: function() { | |
6ccd0a47 DM |
21 | var me = this; |
22 | ||
23 | me.add_integer_row('lifetime', gettext('Lifetime (days)'), | |
c87d46fb TL |
24 | { |
25 | minValue: 1, defaultValue: 7, | |
26 | deleteEmpty: true, | |
27 | }); | |
6ccd0a47 DM |
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: [ | |
c87d46fb TL |
37 | ['ticket', render_authmode('ticket')], |
38 | ['ldap', render_authmode('ldap')], | |
39 | ['ldapticket', render_authmode('ldapticket')]], | |
6ccd0a47 DM |
40 | }); |
41 | ||
42 | var render_reportstyle = function(value) { | |
43 | return me.reportstyleTextHash[value] || value; | |
44 | }; | |
45 | ||
0729f168 | 46 | me.add_combobox_row('reportstyle', gettext('User Spamreport Style'), { |
6ccd0a47 DM |
47 | defaultValue: 'verbose', |
48 | renderer: render_reportstyle, | |
49 | comboItems: [ | |
c87d46fb TL |
50 | ['none', render_reportstyle('none')], |
51 | ['short', render_reportstyle('short')], | |
52 | ['verbose', render_reportstyle('verbose')], | |
53 | ['custom', render_reportstyle('custom')]], | |
6ccd0a47 DM |
54 | }); |
55 | ||
56 | me.add_text_row('hostname', gettext('Quarantine Host'), | |
57 | { deleteEmpty: true, defaultValue: Proxmox.Utils.noneText }); | |
650d8100 SI |
58 | me.add_integer_row('port', gettext('Quarantine port'), |
59 | { deleteEmpty: true, defaultValue: Proxmox.Utils.defaultText }); | |
6ccd0a47 DM |
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'), | |
c87d46fb TL |
64 | { defaultValue: 1 }); |
65 | ||
6ccd0a47 | 66 | me.add_boolean_row('allowhrefs', gettext('Allow HREFs'), |
c87d46fb | 67 | { defaultValue: 1 }); |
6ccd0a47 DM |
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, | |
131ba4f6 | 78 | handler: function() { me.run_editor(); }, |
c87d46fb | 79 | selModel: me.selModel, |
6ccd0a47 DM |
80 | }], |
81 | url: '/api2/json' + baseurl, | |
82 | editorConfig: { | |
573a6e8b | 83 | url: '/api2/extjs' + baseurl, |
c87d46fb | 84 | onlineHelp: 'pmgconfig_spamdetector_quarantine', |
6ccd0a47 DM |
85 | }, |
86 | interval: 5000, | |
87 | cwidth1: 200, | |
88 | listeners: { | |
c87d46fb TL |
89 | itemdblclick: me.run_editor, |
90 | }, | |
6ccd0a47 DM |
91 | }); |
92 | ||
93 | me.callParent(); | |
94 | ||
95 | me.on('activate', me.rstore.startUpdate); | |
96 | me.on('destroy', me.rstore.stopUpdate); | |
00564597 | 97 | me.on('deactivate', me.rstore.stopUpdate); |
c87d46fb | 98 | }, |
6ccd0a47 | 99 | }); |