From 532aa07e7f58bb2e0010a755e29cc266cc37c17e Mon Sep 17 00:00:00 2001 From: Ahmed Bouhuolia Date: Fri, 16 Jan 2026 19:08:07 +0200 Subject: [PATCH] fix(webapp): cancel the written-off invoice --- .../src/containers/Dialogs/BadDebtDialog/BadDebtForm.tsx | 7 +++---- .../containers/Dialogs/BadDebtDialog/BadDebtFormFields.tsx | 4 +++- .../webapp/src/containers/Dialogs/BadDebtDialog/index.tsx | 2 +- packages/webapp/src/hooks/query/invoices.tsx | 2 +- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/packages/webapp/src/containers/Dialogs/BadDebtDialog/BadDebtForm.tsx b/packages/webapp/src/containers/Dialogs/BadDebtDialog/BadDebtForm.tsx index f9866c6d9..02e85f882 100644 --- a/packages/webapp/src/containers/Dialogs/BadDebtDialog/BadDebtForm.tsx +++ b/packages/webapp/src/containers/Dialogs/BadDebtDialog/BadDebtForm.tsx @@ -32,13 +32,12 @@ function BadDebtForm({ // #withCurrentOrganization organization: { base_currency }, }) { - const { invoice, dialogName, createBadDebtMutate, cancelBadDebtMutate } = - useBadDebtContext(); + const { invoice, dialogName, createBadDebtMutate } = useBadDebtContext(); // Initial form values const initialValues = { ...defaultInitialValues, - amount: invoice.due_amount, + amount: invoice?.due_amount || '', }; // Handles the form submit. @@ -67,7 +66,7 @@ function BadDebtForm({ } setSubmitting(false); }; - createBadDebtMutate([invoice.id, form]).then(onSuccess).catch(onError); + createBadDebtMutate([invoice?.id, form]).then(onSuccess).catch(onError); }; return ( diff --git a/packages/webapp/src/containers/Dialogs/BadDebtDialog/BadDebtFormFields.tsx b/packages/webapp/src/containers/Dialogs/BadDebtDialog/BadDebtFormFields.tsx index afd59aa4b..8f228e05b 100644 --- a/packages/webapp/src/containers/Dialogs/BadDebtDialog/BadDebtFormFields.tsx +++ b/packages/webapp/src/containers/Dialogs/BadDebtDialog/BadDebtFormFields.tsx @@ -5,6 +5,7 @@ import { FMoneyInputGroup, FTextArea, FormattedMessage as T, + FFormGroup, } from '@/components'; import { useAutofocus } from '@/hooks'; @@ -53,7 +54,7 @@ function BadDebtFormFields() { fill > - + diff --git a/packages/webapp/src/containers/Dialogs/BadDebtDialog/index.tsx b/packages/webapp/src/containers/Dialogs/BadDebtDialog/index.tsx index 690e7b2e5..5582626cb 100644 --- a/packages/webapp/src/containers/Dialogs/BadDebtDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/BadDebtDialog/index.tsx @@ -16,7 +16,7 @@ function BadDebtDialog({ dialogName, payload: { invoiceId = null }, isOpen }) { name={dialogName} title={} isOpen={isOpen} - canEscapeJeyClose={true} + canEscapeKeyClose={true} autoFocus={true} className={'dialog--bad-debt'} > diff --git a/packages/webapp/src/hooks/query/invoices.tsx b/packages/webapp/src/hooks/query/invoices.tsx index a3e45755d..00221f845 100644 --- a/packages/webapp/src/hooks/query/invoices.tsx +++ b/packages/webapp/src/hooks/query/invoices.tsx @@ -341,7 +341,7 @@ export function useCancelBadDebt(props) { const apiRequest = useApiRequest(); return useMutation( - (id) => apiRequest.post(`sale-invoices/${id}/writeoff/cancel`), + (id) => apiRequest.post(`sale-invoices/${id}/cancel-writeoff`), { onSuccess: (res, id) => { // Invalidate