fix: update financial forms to use new formatted amount utilities and add adjustment fields

This commit is contained in:
Ahmed Bouhuolia
2024-12-03 17:53:37 +02:00
parent 542763ddf5
commit 3a19518440
21 changed files with 128 additions and 133 deletions

View File

@@ -2,33 +2,23 @@
import React from 'react';
import intl from 'react-intl-universal';
import classNames from 'classnames';
import { useFormikContext } from 'formik';
import { CLASSES } from '@/constants/classes';
import VendorCreditNoteFormHeaderFields from './VendorCreditNoteFormHeaderFields';
import { getEntriesTotal } from '@/containers/Entries/utils';
import { PageFormBigNumber } from '@/components';
import { useVendorCreditTotalFormatted } from './utils';
/**
* Vendor Credit note header.
*/
function VendorCreditNoteFormHeader() {
const { values:{entries ,currency_code} } = useFormikContext();
// Calculate the total amount.
const totalAmount = React.useMemo(
() => getEntriesTotal(entries),
[entries],
);
const totalFormatted = useVendorCreditTotalFormatted();
return (
<div className={classNames(CLASSES.PAGE_FORM_HEADER)}>
<VendorCreditNoteFormHeaderFields />
<PageFormBigNumber
label={intl.get('vendor_credits.label.amount_to_credit')}
amount={totalAmount}
currencyCode={currency_code}
amount={totalFormatted}
/>
</div>
);

View File

@@ -206,8 +206,12 @@ export const useVendorCreditSubtotal = () => {
*/
export const useVendorCreditDiscountAmount = () => {
const { values } = useFormikContext();
const subtotal = useVendorCreditSubtotal();
const discount = toSafeNumber(values.discount);
return toSafeNumber(values.discount);
return values.discount_type === 'percentage'
? (subtotal * discount) / 100
: discount;
};
/**