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