]>
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(gettext('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 dkimdomainTextHash
: {
124 envelope
: gettext('Envelope'),
125 header
: gettext('Header'),
128 initComponent: function() {
132 var enable_sign_text
= gettext('Enable DKIM Signing');
133 me
.rows
.dkim_sign
= {
136 header
: enable_sign_text
,
137 renderer
: Proxmox
.Utils
.format_boolean
,
139 xtype
: 'pmgDKIMEnableEdit',
140 subject
: enable_sign_text
,
144 var selector_text
= gettext('Selector');
145 me
.rows
.dkim_selector
= {
147 header
: selector_text
,
149 xtype
: 'proxmoxWindowEdit',
150 subject
: selector_text
,
153 url
: '/config/dkim/selector',
154 submitText
: gettext('Update'),
157 xtype
: 'displayfield',
160 value
: gettext('Warning: You need to update the _domainkey DNS records of all signed domains!'),
163 xtype
: 'pmgDKIMSelectorList',
164 fieldLabel
: selector_text
,
168 xtype
: 'proxmoxKVComboBox',
169 fieldLabel
: gettext('Key Size'),
183 xtype
: 'proxmoxcheckbox',
185 fieldLabel
: gettext('Overwrite existing file'),
191 var render_dkimdomain = function(value
) {
192 return me
.dkimdomainTextHash
[value
] || value
;
194 me
.add_combobox_row('dkim-use-domain', gettext('Get Signing Domain From'), {
195 renderer
: render_dkimdomain
,
196 defaultValue
: 'envelope',
198 ['envelope', render_dkimdomain('envelope')],
199 ['header', render_dkimdomain('header')]],
202 me
.add_boolean_row('dkim_sign_all_mail', gettext('Sign all Outgoing Mail'));
204 var baseurl
= '/config/admin';
206 me
.selModel
= Ext
.create('Ext.selection.RowModel', {});
210 text
: gettext('View DNS Record'),
211 xtype
: 'proxmoxButton',
213 handler: function() {
214 var win
= Ext
.create('PMG.SelectorViewer', {});
218 selModel
: me
.selModel
,
221 text
: gettext('Edit'),
222 xtype
: 'proxmoxButton',
224 handler: function() { me
.run_editor(); },
225 selModel
: me
.selModel
,
227 url
: '/api2/json' + baseurl
,
229 url
: '/api2/extjs' + baseurl
,
230 onlineHelp
: 'pmgconfig_mailproxy_dkim',
235 itemdblclick
: me
.run_editor
,
241 me
.on('activate', me
.rstore
.startUpdate
);
242 me
.on('destroy', me
.rstore
.stopUpdate
);
243 me
.on('deactivate', me
.rstore
.stopUpdate
);