feat: Control the payment method from invoice form

This commit is contained in:
Ahmed Bouhuolia
2024-09-22 21:23:02 +02:00
parent 9827a84857
commit eb5fdbf4ee
11 changed files with 295 additions and 20 deletions

View File

@@ -69,6 +69,7 @@ export const defaultInvoice = {
pdf_template_id: '',
entries: [...repeatValue(defaultInvoiceEntry, MIN_LINES_NUMBER)],
attachments: [],
payment_methods: {},
};
// Invoice entry request schema.
@@ -223,9 +224,19 @@ export function transformValueToRequest(values) {
entries: transformEntriesToRequest(values.entries),
delivered: false,
attachments: transformAttachmentsToRequest(values),
payment_methods: transformPaymentMethodsToRequest(values?.payment_methods),
};
}
const transformPaymentMethodsToRequest = (
paymentMethods: Record<string, { enable: boolean }>,
): Array<{ payment_integration_id: string; enable: boolean }> => {
return Object.entries(paymentMethods).map(([paymentMethodId, method]) => ({
payment_integration_id: paymentMethodId,
enable: method.enable,
}));
};
export const useSetPrimaryWarehouseToForm = () => {
const { setFieldValue } = useFormikContext();
const { warehouses, isWarehousesSuccess } = useInvoiceFormContext();