2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-14 11:05:41 +00:00

Fix error handling for template editor (#9770)

* Fix error handling for template editor

* Remove logging
This commit is contained in:
Oliver
2025-06-13 12:50:05 +10:00
committed by GitHub
parent 4b1eeefb1f
commit 5bf94acc1a

View File

@ -3,6 +3,7 @@ import { forwardRef, useImperativeHandle, useState } from 'react';
import { ApiEndpoints } from '@lib/enums/ApiEndpoints';
import { apiUrl } from '@lib/functions/Api';
import { t } from '@lingui/core/macro';
import { api } from '../../../../App';
import type { PreviewAreaComponent } from '../TemplateEditor';
@ -45,14 +46,21 @@ export const PdfPreviewComponent: PreviewAreaComponent = forwardRef(
);
if (preview.status !== 200 && preview.status !== 201) {
if (preview.data?.non_field_errors) {
throw new Error(preview.data?.non_field_errors.join(', '));
let message: string =
preview.data?.toString() ?? t`Error rendering preview`;
for (const field of ['non_field_errors', 'detail', 'error']) {
if (preview.data?.[field]) {
message = preview.data[field].join(', ');
break;
}
}
throw new Error(preview.data);
throw new Error(message);
}
let outputUrl = preview?.data?.output;
if (preview.data && !preview.data.complete) {
outputUrl = await new Promise((res, rej) => {
let cnt = 0;