]> git.proxmox.com Git - pmg-gui.git/blame - js/SpamQuarantineOptions.js
quarantine action: use shadow for toast "window"
[pmg-gui.git] / js / SpamQuarantineOptions.js
CommitLineData
ff735274 1/*global Proxmox*/
6ccd0a47
DM
2Ext.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'),
6ccd0a47
DM
18 custom: gettext('Custom')
19 },
20
21 initComponent : function() {
22 var me = this;
23
24 me.add_integer_row('lifetime', gettext('Lifetime (days)'),
25 { minValue: 1, defaultValue: 7,
26 deleteEmpty: true });
27
28 var render_authmode = function(value) {
29 return me.authmodeTextHash[value] || value;
30 };
31
de0ebd99
DC
32 /*jslint confusion: true*/
33 /* defaultValue is a string and a number*/
6ccd0a47
DM
34 me.add_combobox_row('authmode', gettext('Authentication mode'), {
35 defaultValue: 'ticket',
36 renderer: render_authmode,
37 comboItems: [
38 ['ticket', render_authmode('ticket') ],
39 ['ldap', render_authmode('ldap') ],
771bd0b9 40 ['ldapticket', render_authmode('ldapticket') ]]
6ccd0a47
DM
41 });
42
43 var render_reportstyle = function(value) {
44 return me.reportstyleTextHash[value] || value;
45 };
46
0729f168 47 me.add_combobox_row('reportstyle', gettext('User Spamreport Style'), {
6ccd0a47
DM
48 defaultValue: 'verbose',
49 renderer: render_reportstyle,
50 comboItems: [
51 ['none', render_reportstyle('none') ],
52 ['short', render_reportstyle('short') ],
53 ['verbose', render_reportstyle('verbose') ],
771bd0b9 54 ['custom', render_reportstyle('custom') ]]
6ccd0a47 55 });
de0ebd99 56 /*jslint confusion: false*/
6ccd0a47
DM
57
58 me.add_text_row('hostname', gettext('Quarantine Host'),
59 { deleteEmpty: true, defaultValue: Proxmox.Utils.noneText });
650d8100
SI
60 me.add_integer_row('port', gettext('Quarantine port'),
61 { deleteEmpty: true, defaultValue: Proxmox.Utils.defaultText });
6ccd0a47
DM
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: {
573a6e8b
SI
85 url: '/api2/extjs' + baseurl,
86 onlineHelp: 'pmgconfig_spamdetector_quarantine'
6ccd0a47
DM
87 },
88 interval: 5000,
89 cwidth1: 200,
90 listeners: {
91 itemdblclick: me.run_editor
92 }
93 });
94
95 me.callParent();
96
97 me.on('activate', me.rstore.startUpdate);
98 me.on('destroy', me.rstore.stopUpdate);
00564597 99 me.on('deactivate', me.rstore.stopUpdate);
6ccd0a47
DM
100 }
101});