2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-15 03:25:42 +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 { ApiEndpoints } from '@lib/enums/ApiEndpoints';
import { apiUrl } from '@lib/functions/Api'; import { apiUrl } from '@lib/functions/Api';
import { t } from '@lingui/core/macro';
import { api } from '../../../../App'; import { api } from '../../../../App';
import type { PreviewAreaComponent } from '../TemplateEditor'; import type { PreviewAreaComponent } from '../TemplateEditor';
@ -45,14 +46,21 @@ export const PdfPreviewComponent: PreviewAreaComponent = forwardRef(
); );
if (preview.status !== 200 && preview.status !== 201) { if (preview.status !== 200 && preview.status !== 201) {
if (preview.data?.non_field_errors) { let message: string =
throw new Error(preview.data?.non_field_errors.join(', ')); 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; let outputUrl = preview?.data?.output;
if (preview.data && !preview.data.complete) { if (preview.data && !preview.data.complete) {
outputUrl = await new Promise((res, rej) => { outputUrl = await new Promise((res, rej) => {
let cnt = 0; let cnt = 0;