diff --git a/migrations/1617967601902-add-batches-type.js b/migrations/1617967601902-add-batches-type.js
index 30989271..20d64368 100644
--- a/migrations/1617967601902-add-batches-type.js
+++ b/migrations/1617967601902-add-batches-type.js
@@ -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`,
diff --git a/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.js b/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.js
index 1846bebe..b3e71917 100644
--- a/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.js
+++ b/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.js
@@ -76,38 +76,34 @@ const CashboxHistory = ({ machines, currency }) => {
const batches = R.path(['cashboxBatches'])(data)
- const getOperationRender = {
- 'cash-in-empty': (
- <>
-
- Cash-in emptied
- >
- ),
- 'cash-out-1-refill': (
- <>
-
- Cash-out 1 refill
- >
- ),
- 'cash-out-1-empty': (
- <>
-
- Cash-out 1 emptied
- >
- ),
- 'cash-out-2-refill': (
- <>
-
- Cash-out 2 refill
- >
- ),
- 'cash-out-2-empty': (
- <>
-
- Cash-out 2 emptied
- >
- )
- }
+ const getOperationRender = R.reduce(
+ (ret, i) =>
+ R.pipe(
+ R.assoc(
+ `cash-out-${i}-refill`,
+ <>
+
+ Cash-out {i} refill
+ >
+ ),
+ R.assoc(
+ `cash-out-${i}-empty`,
+ <>
+
+ Cash-out {i} emptied
+ >
+ )
+ )(ret),
+ {
+ 'cash-in-empty': (
+ <>
+
+ Cash-in emptied
+ >
+ )
+ },
+ R.range(1, 5)
+ )
const save = row => {
const field = R.find(f => f.id === row.id, fields)
diff --git a/new-lamassu-admin/src/pages/Maintenance/Wizard/Wizard.js b/new-lamassu-admin/src/pages/Maintenance/Wizard/Wizard.js
index 9c22f313..a7c99998 100644
--- a/new-lamassu-admin/src/pages/Maintenance/Wizard/Wizard.js
+++ b/new-lamassu-admin/src/pages/Maintenance/Wizard/Wizard.js
@@ -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 (
diff --git a/new-lamassu-admin/src/pages/Maintenance/Wizard/WizardStep.js b/new-lamassu-admin/src/pages/Maintenance/Wizard/WizardStep.js
index fbf7841f..8de43f87 100644
--- a/new-lamassu-admin/src/pages/Maintenance/Wizard/WizardStep.js
+++ b/new-lamassu-admin/src/pages/Maintenance/Wizard/WizardStep.js
@@ -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 }) => (