]> git.proxmox.com Git - pmg-gui.git/blob - js/SpamQuarantineOptions.js
6dce1603f71289abd25c52faf524aa2589deefe9
[pmg-gui.git] / js / SpamQuarantineOptions.js
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 /*jslint confusion: true*/
34 /* defaultValue is a string and a number*/
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')],
41 ['ldapticket', render_authmode('ldapticket')]],
42 });
43
44 var render_reportstyle = function(value) {
45 return me.reportstyleTextHash[value] || value;
46 };
47
48 me.add_combobox_row('reportstyle', gettext('User Spamreport 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 ['custom', render_reportstyle('custom')]],
56 });
57 /*jslint confusion: false*/
58
59 me.add_text_row('hostname', gettext('Quarantine Host'),
60 { deleteEmpty: true, defaultValue: Proxmox.Utils.noneText });
61 me.add_integer_row('port', gettext('Quarantine port'),
62 { deleteEmpty: true, defaultValue: Proxmox.Utils.defaultText });
63 me.add_text_row('mailfrom', gettext("EMail 'From:'"),
64 { deleteEmpty: true, defaultValue: Proxmox.Utils.noneText });
65
66 me.add_boolean_row('viewimages', gettext('View images'),
67 { defaultValue: 1 });
68
69 me.add_boolean_row('allowhrefs', gettext('Allow HREFs'),
70 { defaultValue: 1 });
71
72 var baseurl = '/config/spamquar';
73
74 me.selModel = Ext.create('Ext.selection.RowModel', {});
75
76 Ext.apply(me, {
77 tbar: [{
78 text: gettext('Edit'),
79 xtype: 'proxmoxButton',
80 disabled: true,
81 handler: function() { me.run_editor(); },
82 selModel: me.selModel,
83 }],
84 url: '/api2/json' + baseurl,
85 editorConfig: {
86 url: '/api2/extjs' + baseurl,
87 onlineHelp: 'pmgconfig_spamdetector_quarantine',
88 },
89 interval: 5000,
90 cwidth1: 200,
91 listeners: {
92 itemdblclick: me.run_editor,
93 },
94 });
95
96 me.callParent();
97
98 me.on('activate', me.rstore.startUpdate);
99 me.on('destroy', me.rstore.stopUpdate);
100 me.on('deactivate', me.rstore.stopUpdate);
101 },
102 });