refactor: apply review comments

This commit is contained in:
André Sá 2021-11-22 18:42:56 +00:00
parent 6444b20a8c
commit 900756d6f4
4 changed files with 52 additions and 52 deletions

View file

@ -7,7 +7,11 @@ exports.up = function (next) {
'cash-out-1-refill', 'cash-out-1-refill',
'cash-out-1-empty', 'cash-out-1-empty',
'cash-out-2-refill', 'cash-out-2-refill',
'cash-out-2-empty' 'cash-out-2-empty',
'cash-out-3-refill',
'cash-out-3-empty',
'cash-out-4-refill',
'cash-out-4-empty'
)`, )`,
`ALTER TABLE cashbox_batches ADD COLUMN operation_type cashbox_batch_type NOT NULL`, `ALTER TABLE cashbox_batches ADD COLUMN operation_type cashbox_batch_type NOT NULL`,
`ALTER TABLE cashbox_batches ADD COLUMN bill_count_override SMALLINT`, `ALTER TABLE cashbox_batches ADD COLUMN bill_count_override SMALLINT`,

View file

@ -76,38 +76,34 @@ const CashboxHistory = ({ machines, currency }) => {
const batches = R.path(['cashboxBatches'])(data) const batches = R.path(['cashboxBatches'])(data)
const getOperationRender = { const getOperationRender = R.reduce(
(ret, i) =>
R.pipe(
R.assoc(
`cash-out-${i}-refill`,
<>
<TxOutIcon />
<span className={classes.operationType}>Cash-out {i} refill</span>
</>
),
R.assoc(
`cash-out-${i}-empty`,
<>
<TxOutIcon />
<span className={classes.operationType}>Cash-out {i} emptied</span>
</>
)
)(ret),
{
'cash-in-empty': ( 'cash-in-empty': (
<> <>
<TxInIcon /> <TxInIcon />
<span className={classes.operationType}>Cash-in emptied</span> <span className={classes.operationType}>Cash-in emptied</span>
</> </>
),
'cash-out-1-refill': (
<>
<TxOutIcon />
<span className={classes.operationType}>Cash-out 1 refill</span>
</>
),
'cash-out-1-empty': (
<>
<TxOutIcon />
<span className={classes.operationType}>Cash-out 1 emptied</span>
</>
),
'cash-out-2-refill': (
<>
<TxOutIcon />
<span className={classes.operationType}>Cash-out 2 refill</span>
</>
),
'cash-out-2-empty': (
<>
<TxOutIcon />
<span className={classes.operationType}>Cash-out 2 emptied</span>
</>
) )
} },
R.range(1, 5)
)
const save = row => { const save = row => {
const field = R.find(f => f.id === row.id, fields) const field = R.find(f => f.id === row.id, fields)

View file

@ -17,11 +17,10 @@ const Wizard = ({ machine, cashoutSettings, locale, onClose, save, error }) => {
config: { active: true } config: { active: true }
}) })
const numberOfCassettes = machine.numberOfCassettes const numberOfCassettes = R.isEmpty(cashoutSettings)
const numberOfCassetteSteps = R.isEmpty(cashoutSettings)
? 0 ? 0
: numberOfCassettes : machine.numberOfCassettes
const LAST_STEP = numberOfCassetteSteps + 1 const LAST_STEP = numberOfCassettes + 1
const title = `Update counts` const title = `Update counts`
const isLastStep = step === LAST_STEP const isLastStep = step === LAST_STEP
@ -29,16 +28,9 @@ const Wizard = ({ machine, cashoutSettings, locale, onClose, save, error }) => {
const onContinue = it => { const onContinue = it => {
const cashbox = config?.wasCashboxEmptied === 'YES' ? 0 : machine?.cashbox const cashbox = config?.wasCashboxEmptied === 'YES' ? 0 : machine?.cashbox
console.log('Wizard.js:Wizard:it', it)
if (isLastStep) { if (isLastStep) {
save( const { cassette1, cassette2, cassette3, cassette4 } = R.map(parseInt, it)
machine.id, save(machine.id, cashbox, cassette1, cassette2, cassette3, cassette4)
parseInt(cashbox),
parseInt(it[1] ?? 0),
parseInt(it[2] ?? 0),
parseInt(it[3] ?? 0),
parseInt(it[4] ?? 0)
)
return onClose() return onClose()
} }
@ -50,11 +42,14 @@ const Wizard = ({ machine, cashoutSettings, locale, onClose, save, error }) => {
} }
const makeCassetteSteps = R.pipe( const makeCassetteSteps = R.pipe(
R.add(1),
R.range(1), R.range(1),
R.map(i => ({ R.map(i => ({
type: `cassette ${i}`, type: `cassette ${i}`,
schema: Yup.object().shape({ schema: Yup.object().shape({
[i]: Yup.number() [`cassette${i}`]: Yup.number()
.positive()
.integer()
.required() .required()
.min(0) .min(0)
.max(CASHBOX_DEFAULT_CAPACITY) .max(CASHBOX_DEFAULT_CAPACITY)
@ -69,7 +64,7 @@ const Wizard = ({ machine, cashoutSettings, locale, onClose, save, error }) => {
wasCashboxEmptied: Yup.string().required() wasCashboxEmptied: Yup.string().required()
}) })
}, },
makeCassetteSteps(numberOfCassetteSteps + 1) makeCassetteSteps(numberOfCassettes)
) )
return ( return (

View file

@ -128,7 +128,7 @@ const WizardStep = ({
const originalCassetteCount = machine?.[cassetteField] const originalCassetteCount = machine?.[cassetteField]
const cassetteDenomination = cashoutSettings?.[cassetteField] const cassetteDenomination = cashoutSettings?.[cassetteField]
const cassetteCount = values => values[`${step - 1}`] || originalCassetteCount const cassetteCount = values => values[cassetteField] || originalCassetteCount
const cassetteTotal = values => cassetteCount(values) * cassetteDenomination const cassetteTotal = values => cassetteCount(values) * cassetteDenomination
const getPercentage = R.pipe( const getPercentage = R.pipe(
cassetteCount, cassetteCount,
@ -150,7 +150,7 @@ const WizardStep = ({
onSubmit={onContinue} onSubmit={onContinue}
initialValues={{ wasCashboxEmptied: '' }} initialValues={{ wasCashboxEmptied: '' }}
enableReinitialize enableReinitialize
validationSchema={steps[step - 1].schema}> validationSchema={steps[0].schema}>
{({ values }) => ( {({ values }) => (
<Form> <Form>
<div <div
@ -211,7 +211,12 @@ const WizardStep = ({
validateOnBlur={false} validateOnBlur={false}
validateOnChange={false} validateOnChange={false}
onSubmit={onContinue} onSubmit={onContinue}
initialValues={{ 1: '', 2: '', 3: '', 4: '' }} initialValues={{
cassette1: '',
cassette2: '',
cassette3: '',
cassette4: ''
}}
enableReinitialize enableReinitialize
validationSchema={steps[step - 1].schema}> validationSchema={steps[step - 1].schema}>
{({ values }) => ( {({ values }) => (
@ -262,7 +267,7 @@ const WizardStep = ({
decimalPlaces={0} decimalPlaces={0}
width={50} width={50}
placeholder={originalCassetteCount.toString()} placeholder={originalCassetteCount.toString()}
name={step - 1} name={cassetteField}
className={classes.cashboxBills} className={classes.cashboxBills}
/> />
<P> <P>