This commit is contained in:
elforjani3
2021-02-22 18:56:23 +02:00
55 changed files with 815 additions and 1135 deletions

View File

@@ -1,8 +1,10 @@
import moment from 'moment';
import { transformToForm, repeatValue } from 'utils';
import { compose, transformToForm, repeatValue } from 'utils';
import { updateItemsEntriesTotal } from 'containers/Entries/utils';
export const MIN_LINES_NUMBER = 4;
// Default invoice entry object.
export const defaultInvoiceEntry = {
index: 0,
item_id: '',
@@ -13,6 +15,7 @@ export const defaultInvoiceEntry = {
total: 0,
};
// Default invoice object.
export const defaultInvoice = {
customer_id: '',
invoice_date: moment(new Date()).format('YYYY-MM-DD'),
@@ -29,16 +32,18 @@ export const defaultInvoice = {
* Transform invoice to initial values in edit mode.
*/
export function transformToEditForm(invoice) {
const entries = compose(updateItemsEntriesTotal)([
...invoice.entries.map((invoice) => ({
...transformToForm(invoice, defaultInvoiceEntry),
})),
...repeatValue(
defaultInvoiceEntry,
Math.max(MIN_LINES_NUMBER - invoice.entries.length, 0),
),
]);
return {
...transformToForm(invoice, defaultInvoice),
entries: [
...invoice.entries.map((invoice) => ({
...transformToForm(invoice, defaultInvoiceEntry),
})),
...repeatValue(
defaultInvoiceEntry,
Math.max(MIN_LINES_NUMBER - invoice.entries.length, 0),
),
],
entries,
};
}
}