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