From 7dd09e2903eccc2e3aef29f5318ba93827e10787 Mon Sep 17 00:00:00 2001 From: Ahmed Bouhuolia Date: Wed, 4 Dec 2024 12:18:20 +0200 Subject: [PATCH] fix: discount and adjustment fields --- packages/server/src/api/controllers/Purchases/Bills.ts | 4 ++-- .../server/src/api/controllers/Sales/SalesEstimates.ts | 4 ++-- .../EstimateDetailDrawer/EstimateDetailTableFooter.tsx | 9 ++++++++- .../InvoiceDetailDrawer/InvoiceDetailTableFooter.tsx | 2 +- .../VendorCreditDetailDrawerFooter.tsx | 9 ++++++++- 5 files changed, 21 insertions(+), 7 deletions(-) diff --git a/packages/server/src/api/controllers/Purchases/Bills.ts b/packages/server/src/api/controllers/Purchases/Bills.ts index 71fcf2f5c..629579863 100644 --- a/packages/server/src/api/controllers/Purchases/Bills.ts +++ b/packages/server/src/api/controllers/Purchases/Bills.ts @@ -153,7 +153,7 @@ export default class BillsController extends BaseController { check('discount_type') .default(DiscountType.Amount) .isIn([DiscountType.Amount, DiscountType.Percentage]), - check('discount').optional().isDecimal().toFloat(), + check('discount').optional({ nullable: true }).isDecimal().toFloat(), // # Adjustment check('adjustment').optional({ nullable: true }).isNumeric().toFloat(), @@ -204,7 +204,7 @@ export default class BillsController extends BaseController { check('discount_type') .default(DiscountType.Amount) .isIn([DiscountType.Amount, DiscountType.Percentage]), - check('discount').optional().isDecimal().toFloat(), + check('discount').optional({ nullable: true }).isDecimal().toFloat(), // # Adjustment check('adjustment').optional({ nullable: true }).isNumeric().toFloat(), diff --git a/packages/server/src/api/controllers/Sales/SalesEstimates.ts b/packages/server/src/api/controllers/Sales/SalesEstimates.ts index dbbef3e7b..3af6b9805 100644 --- a/packages/server/src/api/controllers/Sales/SalesEstimates.ts +++ b/packages/server/src/api/controllers/Sales/SalesEstimates.ts @@ -204,13 +204,13 @@ export default class SalesEstimatesController extends BaseController { check('pdf_template_id').optional({ nullable: true }).isNumeric().toInt(), // # Discount - check('discount').optional().isNumeric().toFloat(), + check('discount').optional({ nullable: true }).isNumeric().toFloat(), check('discount_type') .default(DiscountType.Amount) .isIn([DiscountType.Amount, DiscountType.Percentage]), // # Adjustment - check('adjustment').optional().isNumeric().toFloat(), + check('adjustment').optional({ nullable: true }).isNumeric().toFloat(), ]; } diff --git a/packages/webapp/src/containers/Drawers/EstimateDetailDrawer/EstimateDetailTableFooter.tsx b/packages/webapp/src/containers/Drawers/EstimateDetailDrawer/EstimateDetailTableFooter.tsx index 6533267b3..f2f02f8aa 100644 --- a/packages/webapp/src/containers/Drawers/EstimateDetailDrawer/EstimateDetailTableFooter.tsx +++ b/packages/webapp/src/containers/Drawers/EstimateDetailDrawer/EstimateDetailTableFooter.tsx @@ -25,7 +25,7 @@ export default function EstimateDetailTableFooter() { value={estimate.formatted_subtotal} borderStyle={TotalLineBorderStyle.SingleDark} /> - {estimate?.discount_amount > 0 && ( + {estimate?.discount_amount_formatted && ( )} + {estimate?.adjustment_formatted && ( + + )} } value={estimate.total_formatted} diff --git a/packages/webapp/src/containers/Drawers/InvoiceDetailDrawer/InvoiceDetailTableFooter.tsx b/packages/webapp/src/containers/Drawers/InvoiceDetailDrawer/InvoiceDetailTableFooter.tsx index 509d32f66..1b3c26e3f 100644 --- a/packages/webapp/src/containers/Drawers/InvoiceDetailDrawer/InvoiceDetailTableFooter.tsx +++ b/packages/webapp/src/containers/Drawers/InvoiceDetailDrawer/InvoiceDetailTableFooter.tsx @@ -37,7 +37,7 @@ export function InvoiceDetailTableFooter() { textStyle={TotalLineTextStyle.Regular} /> )} - {invoice?.adjustment > 0 && ( + {invoice?.adjustment_formatted && ( - {vendorCredit.discount_amount_formatted && ( + {vendorCredit?.discount_amount_formatted && ( )} + {vendorCredit?.adjustment_formatted && ( + + )} } value={vendorCredit.formatted_amount}