]>
git.proxmox.com Git - pmg-gui.git/blob - js/DKIMSettings.js
1 Ext
.define('PMG.DKIMEnableEdit', {
2 extend
: 'Proxmox.window.Edit',
3 xtype
: 'pmgDKIMEnableEdit',
9 value
: gettext('You need to create a Selector before enabling DKIM Signing'),
13 xtype
: 'proxmoxcheckbox',
18 deleteDefaultValue
: false,
19 fieldLabel
: gettext('Sign Outgoing Mails'),
25 var disablefn = function(errormsg
) {
26 Ext
.Msg
.alert(gettext('Error'), errormsg
);
27 me
.down('displayfield').setVisible(true);
28 me
.down('proxmoxcheckbox').setDisabled(true);
32 Proxmox
.Utils
.API2Request({
33 url
: '/config/dkim/selector',
35 failure: function(response
, opts
) {
36 disablefn(response
.htmlStatus
);
38 success: function(response
, opts
) {
39 if (!Ext
.isDefined(response
.result
.data
.record
)) {
40 disablefn('Could not read private key - please create a selector first!');
48 Ext
.define('PMG.SelectorViewer', {
49 extend
: 'Proxmox.window.Edit',
50 xtype
: 'pmgDKIMSelectorView',
52 url
: '/config/dkim/selector',
53 title
: gettext('Selector'),
60 xtype
: 'displayfield',
61 fieldLabel
: gettext('Selector'),
65 xtype
: 'displayfield',
66 fieldLabel
: gettext('Key Size'),
75 fieldLabel
: gettext('DNS TXT Record'),
77 value
: 'Could not read private key!',
81 initComponent: function() {
86 // hide OK/Reset button, because we just want to show data
87 me
.down('toolbar[dock=bottom]').setVisible(false);
91 Ext
.define('PMG.SelectorList', {
92 extend
: 'Ext.form.ComboBox',
93 xtype
: 'pmgDKIMSelectorList',
101 url
: '/api2/json/config/dkim/selectors',
106 property
: 'selector',
112 valueField
: 'selector',
113 displayField
: 'selector',
117 Ext
.define('PMG.DKIMSettings', {
118 extend
: 'Proxmox.grid.ObjectGrid',
121 monStoreErrors
: true,
123 initComponent: function() {
127 var enable_sign_text
= gettext('Enable DKIM Signing');
128 me
.rows
.dkim_sign
= {
131 header
: enable_sign_text
,
132 renderer
: Proxmox
.Utils
.format_boolean
,
134 xtype
: 'pmgDKIMEnableEdit',
135 subject
: enable_sign_text
,
139 var selector_text
= gettext('Selector');
140 me
.rows
.dkim_selector
= {
142 header
: selector_text
,
144 xtype
: 'proxmoxWindowEdit',
145 subject
: selector_text
,
148 url
: '/config/dkim/selector',
149 submitText
: gettext('Update'),
152 xtype
: 'displayfield',
155 value
: gettext('Warning: You need to update the _domainkey DNS records of all signed domains!'),
158 xtype
: 'pmgDKIMSelectorList',
159 fieldLabel
: selector_text
,
163 xtype
: 'proxmoxKVComboBox',
164 fieldLabel
: gettext('Key Size'),
178 xtype
: 'proxmoxcheckbox',
180 fieldLabel
: gettext('Overwrite existing file'),
186 me
.add_boolean_row('dkim_sign_all_mail', gettext('Sign all Outgoing Mail'));
188 var baseurl
= '/config/admin';
190 me
.selModel
= Ext
.create('Ext.selection.RowModel', {});
194 text
: gettext('View DNS Record'),
195 xtype
: 'proxmoxButton',
197 handler: function() {
198 var win
= Ext
.create('PMG.SelectorViewer', {});
202 selModel
: me
.selModel
,
205 text
: gettext('Edit'),
206 xtype
: 'proxmoxButton',
208 handler: function() { me
.run_editor(); },
209 selModel
: me
.selModel
,
211 url
: '/api2/json' + baseurl
,
213 url
: '/api2/extjs' + baseurl
,
214 onlineHelp
: 'pmgconfig_mailproxy_dkim',
219 itemdblclick
: me
.run_editor
,
225 me
.on('activate', me
.rstore
.startUpdate
);
226 me
.on('destroy', me
.rstore
.stopUpdate
);
227 me
.on('deactivate', me
.rstore
.stopUpdate
);