web/admin: improve error handling for non-rest_framework errors
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
parent
9900cc5c81
commit
f29344e91f
|
@ -145,7 +145,10 @@ export class Form<T> extends LitElement {
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
return r;
|
return r;
|
||||||
}).catch((ex: Response) => {
|
}).catch((ex: Response | Error) => {
|
||||||
|
if (ex instanceof Error) {
|
||||||
|
throw ex;
|
||||||
|
}
|
||||||
if (ex.status > 399 && ex.status < 500) {
|
if (ex.status > 399 && ex.status < 500) {
|
||||||
return ex.json().then((errorMessage: ValidationError) => {
|
return ex.json().then((errorMessage: ValidationError) => {
|
||||||
if (!errorMessage) return errorMessage;
|
if (!errorMessage) return errorMessage;
|
||||||
|
@ -169,6 +172,14 @@ export class Form<T> extends LitElement {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
throw ex;
|
throw ex;
|
||||||
|
}).catch((ex: Error) => {
|
||||||
|
// error is local or not from rest_framework
|
||||||
|
showMessage({
|
||||||
|
message: ex.toString(),
|
||||||
|
level: MessageLevel.error,
|
||||||
|
});
|
||||||
|
// rethrow the error so the form doesn't close
|
||||||
|
throw ex;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Reference in New Issue