From f096e3c165959208671875d6dabac951b2bcfd30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Salgado?= Date: Mon, 6 Dec 2021 16:36:40 +0000 Subject: [PATCH] fix: default nullable number fields to zero on cash cassettes wizard --- .../src/pages/Maintenance/Wizard/Wizard.js | 13 +++++-------- new-lamassu-admin/src/utils/number.js | 5 ++++- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/new-lamassu-admin/src/pages/Maintenance/Wizard/Wizard.js b/new-lamassu-admin/src/pages/Maintenance/Wizard/Wizard.js index 854ad25f..7700533d 100644 --- a/new-lamassu-admin/src/pages/Maintenance/Wizard/Wizard.js +++ b/new-lamassu-admin/src/pages/Maintenance/Wizard/Wizard.js @@ -3,6 +3,7 @@ import React, { useState } from 'react' import * as Yup from 'yup' import Modal from 'src/components/Modal' +import { defaultToZero } from 'src/utils/number.js' import WizardSplash from './WizardSplash' import WizardStep from './WizardStep' @@ -34,15 +35,11 @@ const Wizard = ({ machine, cashoutSettings, locale, onClose, save, error }) => { const cashbox = wasCashboxEmptied ? 0 : machine?.cashbox - const { cassette1, cassette2, cassette3, cassette4 } = R.map(parseInt, it) - save( - machine.id, - cashbox, - cassette1 ?? 0, - cassette2 ?? 0, - cassette3 ?? 0, - cassette4 ?? 0 + const { cassette1, cassette2, cassette3, cassette4 } = R.map( + defaultToZero, + it ) + save(machine.id, cashbox, cassette1, cassette2, cassette3, cassette4) return onClose() } diff --git a/new-lamassu-admin/src/utils/number.js b/new-lamassu-admin/src/utils/number.js index e05d5796..fc828285 100644 --- a/new-lamassu-admin/src/utils/number.js +++ b/new-lamassu-admin/src/utils/number.js @@ -4,4 +4,7 @@ const isValidNumber = R.both(R.is(Number), R.complement(R.equals(NaN))) const transformNumber = value => (isValidNumber(value) ? value : null) -export { transformNumber } +const defaultToZero = value => + isValidNumber(parseInt(value)) ? parseInt(value) : 0 + +export { transformNumber, defaultToZero }