From 2762fab334c67e3b59b9af4b6918d43f04424de5 Mon Sep 17 00:00:00 2001 From: Eugen Ciur Date: Sun, 27 Oct 2024 07:28:55 +0100 Subject: [PATCH] error handling when fetching docs cf --- papermerge/core/routers/documents.py | 1 + .../DocumentDetails/CustomFields.tsx | 19 ++++++++++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/papermerge/core/routers/documents.py b/papermerge/core/routers/documents.py index 7312cd989..3d6d736cb 100644 --- a/papermerge/core/routers/documents.py +++ b/papermerge/core/routers/documents.py @@ -145,6 +145,7 @@ def get_document_custom_field_values( Required scope: `{scope}` """ + raise HTTPException(status_code=500, detail="Fake error") try: doc = db.get_doc_cfv( db_session, diff --git a/ui2/src/features/document/components/DocumentDetails/CustomFields.tsx b/ui2/src/features/document/components/DocumentDetails/CustomFields.tsx index 3ec660090..33a4f0319 100644 --- a/ui2/src/features/document/components/DocumentDetails/CustomFields.tsx +++ b/ui2/src/features/document/components/DocumentDetails/CustomFields.tsx @@ -17,7 +17,14 @@ import { } from "@/features/document/apiSlice" import {selectCurrentNodeID} from "@/features/ui/uiSlice" import type {CFV, PanelMode} from "@/types" -import {Button, ComboboxItem, Select, Skeleton, TextInput} from "@mantine/core" +import { + Button, + ComboboxItem, + Select, + Skeleton, + Text, + TextInput +} from "@mantine/core" export default function CustomFields() { const mode: PanelMode = useContext(PanelContext) @@ -35,8 +42,11 @@ export default function CustomFields() { const [updateDocumentCustomFields, {error}] = useUpdateDocumentCustomFieldsMutation() const [updateDocumentType] = useUpdateDocumentTypeMutation() - const {data: documentCustomFields, isSuccess: isSuccessDocumentCustomFields} = - useGetDocumentCustomFieldsQuery(docID ?? skipToken) + const { + data: documentCustomFields, + isSuccess: isSuccessDocumentCustomFields, + isError: isErrorDocumentCustomFields + } = useGetDocumentCustomFieldsQuery(docID ?? skipToken) useEffect(() => { if (documentCustomFields && documentCustomFields.length > 0) { @@ -171,6 +181,9 @@ export default function CustomFields() { onClear={onClearDocumentType} clearable /> + {isErrorDocumentCustomFields && ( + There was server error while fetching custom fields + )} {genericCustomFieldsComponents} {showSaveButton && } {error && (