From 5bf94acc1aadb8694a5a6139d7740a2b526dfe47 Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 13 Jun 2025 12:50:05 +1000 Subject: [PATCH] Fix error handling for template editor (#9770) * Fix error handling for template editor * Remove logging --- .../TemplateEditor/PdfPreview/PdfPreview.tsx | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/frontend/src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx b/src/frontend/src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx index 073a4e81ca..796c191268 100644 --- a/src/frontend/src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx +++ b/src/frontend/src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx @@ -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;