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-empty',
'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 bill_count_override SMALLINT`,

View file

@ -76,38 +76,34 @@ const CashboxHistory = ({ machines, currency }) => {
const batches = R.path(['cashboxBatches'])(data)
const getOperationRender = {
'cash-in-empty': (
<>
<TxInIcon />
<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>
</>
)
}
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': (
<>
<TxInIcon />
<span className={classes.operationType}>Cash-in emptied</span>
</>
)
},
R.range(1, 5)
)
const save = row => {
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 }
})
const numberOfCassettes = machine.numberOfCassettes
const numberOfCassetteSteps = R.isEmpty(cashoutSettings)
const numberOfCassettes = R.isEmpty(cashoutSettings)
? 0
: numberOfCassettes
const LAST_STEP = numberOfCassetteSteps + 1
: machine.numberOfCassettes
const LAST_STEP = numberOfCassettes + 1
const title = `Update counts`
const isLastStep = step === LAST_STEP
@ -29,16 +28,9 @@ const Wizard = ({ machine, cashoutSettings, locale, onClose, save, error }) => {
const onContinue = it => {
const cashbox = config?.wasCashboxEmptied === 'YES' ? 0 : machine?.cashbox
console.log('Wizard.js:Wizard:it', it)
if (isLastStep) {
save(
machine.id,
parseInt(cashbox),
parseInt(it[1] ?? 0),
parseInt(it[2] ?? 0),
parseInt(it[3] ?? 0),
parseInt(it[4] ?? 0)
)
const { cassette1, cassette2, cassette3, cassette4 } = R.map(parseInt, it)
save(machine.id, cashbox, cassette1, cassette2, cassette3, cassette4)
return onClose()
}
@ -50,11 +42,14 @@ const Wizard = ({ machine, cashoutSettings, locale, onClose, save, error }) => {
}
const makeCassetteSteps = R.pipe(
R.add(1),
R.range(1),
R.map(i => ({
type: `cassette ${i}`,
schema: Yup.object().shape({
[i]: Yup.number()
[`cassette${i}`]: Yup.number()
.positive()
.integer()
.required()
.min(0)
.max(CASHBOX_DEFAULT_CAPACITY)
@ -69,7 +64,7 @@ const Wizard = ({ machine, cashoutSettings, locale, onClose, save, error }) => {
wasCashboxEmptied: Yup.string().required()
})
},
makeCassetteSteps(numberOfCassetteSteps + 1)
makeCassetteSteps(numberOfCassettes)
)
return (

View file

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