xtype: 'displayfield',
userCls: 'pmx-hint',
value: gettext('You need to create a Selector before enabling DKIM Signing'),
- hidden: true
+ hidden: true,
},
{
xtype: 'proxmoxcheckbox',
checked: false,
deleteDefaultValue: false,
fieldLabel: gettext('Sign Outgoing Mails'),
- }
+ },
],
listeners: {
'show': function() {
var me = this;
- var disablefn = function(errormsg){
+ var disablefn = function(errormsg) {
Ext.Msg.alert(gettext('Error'), errormsg);
me.down('displayfield').setVisible(true);
me.down('proxmoxcheckbox').setDisabled(true);
};
Proxmox.Utils.API2Request({
- url : '/config/dkim/selector',
- method : 'GET',
- failure : function(response, opts) {
- disablefn(response.htmlStatus)
+ url: '/config/dkim/selector',
+ method: 'GET',
+ failure: function(response, opts) {
+ disablefn(response.htmlStatus);
},
- success : function(response, opts) {
+ success: function(response, opts) {
if (!Ext.isDefined(response.result.data.record)) {
disablefn('Could not read private key - please create a selector first!');
}
- }
+ },
});
- }
- }
+ },
+ },
});
Ext.define('PMG.SelectorViewer', {
{
xtype: 'displayfield',
fieldLabel: gettext('Selector'),
- name: 'selector'
+ name: 'selector',
},
{
xtype: 'displayfield',
fieldLabel: gettext('Key Size'),
- name: 'keysize'
+ name: 'keysize',
},
{
xtype: 'textarea',
growMax: 400,
fieldLabel: gettext('DNS TXT Record'),
name: 'record',
- value: 'Could not read private key!'
- }
+ value: 'Could not read private key!',
+ },
],
initComponent: function() {
// hide OK/Reset button, because we just want to show data
me.down('toolbar[dock=bottom]').setVisible(false);
- }
+ },
+});
+
+Ext.define('PMG.SelectorList', {
+ extend: 'Ext.form.ComboBox',
+ xtype: 'pmgDKIMSelectorList',
+
+ queryMode: 'local',
+ store: {
+ fields: ['selector'],
+ filterOnLoad: true,
+ proxy: {
+ type: 'proxmox',
+ url: '/api2/json/config/dkim/selectors',
+ },
+ autoLoad: true,
+ sorters: [
+ {
+ property: 'selector',
+ direction: 'ASC',
+ },
+ ],
+ },
+
+ valueField: 'selector',
+ displayField: 'selector',
+ allowBlank: false,
});
Ext.define('PMG.DKIMSettings', {
monStoreErrors: true,
- initComponent : function() {
+ initComponent: function() {
var me = this;
me.rows = {};
editor: {
xtype: 'pmgDKIMEnableEdit',
subject: enable_sign_text,
- }
+ },
};
var selector_text = gettext('Selector');
isCreate: true,
method: 'POST',
url: '/config/dkim/selector',
+ submitText: gettext('Update'),
items: [
{
xtype: 'displayfield',
value: gettext('Warning: You need to update the _domainkey DNS records of all signed domains!'),
},
{
- xtype: 'proxmoxtextfield',
+ xtype: 'pmgDKIMSelectorList',
fieldLabel: selector_text,
name: 'selector',
- allowBlank: false,
- required: true,
- defaultValue: 'pmg'
},
{
xtype: 'proxmoxKVComboBox',
['1024', '1024'],
['2048', '2048'],
['4096', '4096'],
- ['8192', '8192']
- ]
- }
- ]
- }
+ ['8192', '8192'],
+ ],
+ },
+ {
+ xtype: 'proxmoxcheckbox',
+ name: 'force',
+ fieldLabel: gettext('Overwrite existing file'),
+ },
+ ],
+ },
};
me.add_boolean_row('dkim_sign_all_mail', gettext('Sign all Outgoing Mail'));
xtype: 'proxmoxButton',
disabled: true,
handler: function() { me.run_editor(); },
- selModel: me.selModel
+ selModel: me.selModel,
}],
url: '/api2/json' + baseurl,
editorConfig: {
url: '/api2/extjs' + baseurl,
- onlineHelp: 'pmgconfig_mailproxy_dkim'
+ onlineHelp: 'pmgconfig_mailproxy_dkim',
},
interval: 5000,
cwidth1: 200,
listeners: {
- itemdblclick: me.run_editor
- }
+ itemdblclick: me.run_editor,
+ },
});
me.callParent();
me.on('activate', me.rstore.startUpdate);
me.on('destroy', me.rstore.stopUpdate);
me.on('deactivate', me.rstore.stopUpdate);
- }
+ },
});