enabledText: gettext('Enabled'),
disabledText: gettext('Disabled'),
noneText: gettext('none'),
+ NoneText: gettext('None'),
errorText: gettext('Error'),
unknownText: gettext('Unknown'),
defaultText: gettext('Default'),
groupText: gettext('Group'),
language_map: {
+ ar: 'Arabic',
ca: 'Catalan',
da: 'Danish',
de: 'German',
}
},
+ getResponseErrorMessage: (err) => {
+ if (!err.statusText) {
+ return gettext('Connection error');
+ }
+ let msg = `${err.statusText} (${err.status})`;
+ if (err.response && err.response.responseText) {
+ let txt = err.response.responseText;
+ try {
+ let res = JSON.parse(txt)
+ for (let [key, value] of Object.entries(res.errors)) {
+ msg += `<br>${key}: ${value}`;
+ }
+ } catch (e) { /* TODO? */ }
+ }
+ return msg;
+ },
+
monStoreErrors: function(me, store, clearMaskBeforeLoad) {
if (clearMaskBeforeLoad) {
me.mon(store, 'beforeload', function(s, operation, eOpts) {
return;
}
- var msg;
- /*jslint nomen: true */
- var operation = request._operation;
- var error = operation.getError();
- if (error.statusText) {
- msg = error.statusText + ' (' + error.status + ')';
- } else {
- msg = gettext('Connection error');
- }
+ let error = request._operation.getError();
+ let msg = Proxmox.Utils.getResponseErrorMessage(error);
Proxmox.Utils.setErrorMask(me, msg);
});
},
acmerefresh: [ 'ACME Account', gettext('Refresh') ],
acmerenew: [ 'SRV', gettext('Renew Certificate') ],
acmerevoke: [ 'SRV', gettext('Revoke Certificate') ],
+ 'auth-realm-sync': [ gettext('Realm'), gettext('Sync') ],
+ 'auth-realm-sync-test': [ gettext('Realm'), gettext('Sync Preview')],
'move_volume': [ 'CT', gettext('Move Volume') ],
clustercreate: [ '', gettext('Create Cluster') ],
clusterjoin: [ '', gettext('Join Cluster') ],
me.HostPort_match = new RegExp("^(" + IPV4_REGEXP + "|" + DnsName_REGEXP + ")(:\\d+)?$");
me.HostPortBrackets_match = new RegExp("^\\[(?:" + IPV6_REGEXP + "|" + IPV4_REGEXP + "|" + DnsName_REGEXP + ")\\](:\\d+)?$");
me.IP6_dotnotation_match = new RegExp("^" + IPV6_REGEXP + "(\\.\\d+)?$");
+ me.Vlan_match = new RegExp('^vlan(\\d+)');
+ me.VlanInterface_match = new RegExp('(\\w+)\\.(\\d+)');
}
});