Check for errors on Guess Types query - fixes #3173 (#3318)

Don't assume that the query always succeeds.
Error reporting is rudimentary (alert), but better than nothing.
This commit is contained in:
Tom Morris 2020-11-05 12:24:15 -05:00 committed by GitHub
parent 6c9ad3f31d
commit 4359f894b8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -52,24 +52,28 @@ ReconStandardServicePanel.prototype._guessTypes = function(f) {
}),
null,
function(data) {
self._types = data.types;
if (data.code && data.code === 'ok') {
self._types = data.types;
if (self._types.length === 0 && "defaultTypes" in self._service) {
var defaultTypes = {};
$.each(self._service.defaultTypes, function() {
defaultTypes[this.id] = this.name;
});
$.each(self._types, function() {
delete defaultTypes[typeof this == "string" ? this : this.id];
});
for (var id in defaultTypes) {
if (defaultTypes.hasOwnProperty(id)) {
self._types.push({
id: id,
name: defaultTypes[id].name
});
if (self._types.length === 0 && "defaultTypes" in self._service) {
var defaultTypes = {};
$.each(self._service.defaultTypes, function() {
defaultTypes[this.id] = this.name;
});
$.each(self._types, function() {
delete defaultTypes[typeof this == "string" ? this : this.id];
});
for (var id in defaultTypes) {
if (defaultTypes.hasOwnProperty(id)) {
self._types.push({
id: id,
name: defaultTypes[id].name
});
}
}
}
} else {
alert('Guess Types query failed ' + data.code + ' : ' + data.message);
}
dismissBusy();