]> git.proxmox.com Git - pmg-gui.git/blob - js/SpamQuarantineOptions.js
utils: anchor regex expression
[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 me.add_combobox_row('authmode', gettext('Authentication mode'), {
34 defaultValue: 'ticket',
35 renderer: render_authmode,
36 comboItems: [
37 ['ticket', render_authmode('ticket')],
38 ['ldap', render_authmode('ldap')],
39 ['ldapticket', render_authmode('ldapticket')]],
40 });
41
42 var render_reportstyle = function(value) {
43 return me.reportstyleTextHash[value] || value;
44 };
45
46 me.add_combobox_row('reportstyle', gettext('User Spamreport Style'), {
47 defaultValue: 'verbose',
48 renderer: render_reportstyle,
49 comboItems: [
50 ['none', render_reportstyle('none')],
51 ['short', render_reportstyle('short')],
52 ['verbose', render_reportstyle('verbose')],
53 ['custom', render_reportstyle('custom')]],
54 });
55
56 me.add_text_row('hostname', gettext('Quarantine Host'),
57 { deleteEmpty: true, defaultValue: Proxmox.Utils.noneText });
58 me.add_integer_row('port', gettext('Quarantine port'),
59 { deleteEmpty: true, defaultValue: Proxmox.Utils.defaultText });
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'),
64 { defaultValue: 1 });
65
66 me.add_boolean_row('allowhrefs', gettext('Allow HREFs'),
67 { defaultValue: 1 });
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,
78 handler: function() { me.run_editor(); },
79 selModel: me.selModel,
80 }],
81 url: '/api2/json' + baseurl,
82 editorConfig: {
83 url: '/api2/extjs' + baseurl,
84 onlineHelp: 'pmgconfig_spamdetector_quarantine',
85 },
86 interval: 5000,
87 cwidth1: 200,
88 listeners: {
89 itemdblclick: me.run_editor,
90 },
91 });
92
93 me.callParent();
94
95 me.on('activate', me.rstore.startUpdate);
96 me.on('destroy', me.rstore.stopUpdate);
97 me.on('deactivate', me.rstore.stopUpdate);
98 },
99 });