fieldDefaults: { labelWidth: 120 },
+ controller: {
+
+ xclass: 'Ext.app.ViewController',
+
+ onProtocolChange: function() {
+ var protocol = this.lookupReference('protocol').getValue();
+ var ssl = this.lookupReference('ssl').getValue();
+
+ var port_field = this.lookupReference('port');
+ if (protocol === 'pop3') {
+ port_field.setValue(ssl ? 995 : 110);
+ } else if (protocol === 'imap') {
+ port_field.setValue(ssl ? 993 : 143);
+ }
+ }
+ },
+
items: {
xtype: 'inputpanel',
column1: [
fieldLabel: gettext('Server'),
allowBlank: false
},
+ {
+ xtype: 'proxmoxKVComboBox',
+ fieldLabel: gettext('Protocol'),
+ name: 'protocol',
+ reference: 'protocol',
+ value: 'pop3',
+ listeners: { change: 'onProtocolChange' },
+ comboItems: [['pop3', 'pop3'], ['imap', 'imap']]
+ },
{
xtype: 'proxmoxintegerfield',
name: 'port',
+ reference: 'port',
fieldLabel: gettext('Port'),
+ value: 110,
minValue: 1,
maxValue: 65535,
allowBlank: false
{
xtype: 'proxmoxcheckbox',
fieldLabel: gettext('Use SSL'),
+ listeners: { change: 'onProtocolChange' },
name: 'ssl',
+ reference: 'ssl',
uncheckedValue: 0,
checked: false
},
Proxmox.Utils.monStoreErrors(view, view.store, true);
},
+ onAdd: function() {
+ var view = this.getView();
+
+ var win = Ext.create('PMG.FetchmailEdit', {
+ url: view.baseurl,
+ method: 'POST',
+ });
+ win.on('destroy', function() { view.store.load() });
+ win.show();
+ },
+
onEdit: function() {
var view = this.getView();
},
tbar: [
+ {
+ text: gettext('Add'),
+ reference: 'addBtn',
+ handler: 'onAdd'
+ },
+ {
+ xtype: 'proxmoxButton',
+ text: gettext('Edit'),
+ disabled: true,
+ handler: 'onEdit'
+ },
{
xtype: 'proxmoxStdRemoveButton',
baseurl: '/config/fetchmail',
renderer: Ext.String.htmlEncode,
dataIndex: 'server'
},
+ {
+ header: gettext('Protocol'),
+ dataIndex: 'protocol'
+ },
{
header: gettext('User name'),
flex: 1,