]> git.proxmox.com Git - pmg-gui.git/blame - js/SpamQuarantineOptions.js
ui: trim whitespaces when adding a subscription key
[pmg-gui.git] / js / SpamQuarantineOptions.js
CommitLineData
6ccd0a47
DM
1Ext.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});