diff --git a/src/bill-item-actions/edit-bill-item.modal.tsx b/src/bill-item-actions/edit-bill-item.modal.tsx index 88580914..29cfd825 100644 --- a/src/bill-item-actions/edit-bill-item.modal.tsx +++ b/src/bill-item-actions/edit-bill-item.modal.tsx @@ -88,6 +88,14 @@ const EditBillLineItemModal: React.FC = ({ bill, clo }, [quantity, price]); const onSubmit = async (data: BillLineItemForm) => { + // if (bill?.status === 'PENDING') { + // showSnackbar({ + // title: t('cannotEditThisBill', 'You can not edit this bill'), + // subtitle: t('onlyPendingBillsCanBeEdited', 'Only pending bills can be edited'), + // kind: 'error', + // }); + // return; + // } const url = `${apiBasePath}bill`; const newItem = { diff --git a/src/billing.resource.ts b/src/billing.resource.ts index 41cd80af..7f093a2b 100644 --- a/src/billing.resource.ts +++ b/src/billing.resource.ts @@ -21,9 +21,9 @@ import type { export const mapBillProperties = (bill: PatientInvoice): MappedBill => { const activeLineItems = bill?.lineItems?.filter((item) => !item.voided) || []; - - const status = - activeLineItems.length > 0 + + const status = + activeLineItems.length > 0 ? activeLineItems.some((item) => item.paymentStatus === 'PENDING') ? 'PENDING' : 'PAID' diff --git a/src/invoice/invoice-table.component.tsx b/src/invoice/invoice-table.component.tsx index f0c32556..a060ec6a 100644 --- a/src/invoice/invoice-table.component.tsx +++ b/src/invoice/invoice-table.component.tsx @@ -85,6 +85,7 @@ const InvoiceTable: React.FC = ({ bill, isLoadingBill }) => { const tableRows: Array = useMemo( () => filteredLineItems?.map((item, index) => { + const canEditBill = bill?.status === 'PENDING'; return { no: `${index + 1}`, id: `${item.uuid}`, @@ -96,20 +97,21 @@ const InvoiceTable: React.FC = ({ bill, isLoadingBill }) => { total: convertToCurrency(item.price * item.quantity, defaultCurrency), actionButton: ( -