-
}>
-
-
- Dashboard
-
-
-
- {machineName}
-
-
-
+ !loading && (
+
+
+
+
+ }>
+
+
+ Dashboard
+
+
+
+ {machineName}
+
+
+
+
+
+
+
+
+
+ {'Details'}
+
+
+
+ {'Cash cassettes'}
+
+
+
+ {'Latest transactions'}
+
+
+
+ {'Commissions'}
+
+
-
-
-
- {'Details'}
-
-
-
- {'Cash cassettes'}
-
-
-
- {'Latest transactions'}
-
-
-
- {'Commissions'}
-
-
-
-
-
+ )
)
}
diff --git a/new-lamassu-admin/src/pages/Maintenance/CashCassettes.js b/new-lamassu-admin/src/pages/Maintenance/CashCassettes.js
index eef88947..c722bf68 100644
--- a/new-lamassu-admin/src/pages/Maintenance/CashCassettes.js
+++ b/new-lamassu-admin/src/pages/Maintenance/CashCassettes.js
@@ -62,14 +62,6 @@ const ValidationSchema = Yup.object().shape({
.max(500)
})
-const CREATE_BATCH = gql`
- mutation createBatch($deviceId: ID, $cashboxCount: Int) {
- createBatch(deviceId: $deviceId, cashboxCount: $cashboxCount) {
- id
- }
- }
-`
-
const GET_MACHINES_AND_CONFIG = gql`
query getData {
machines {
@@ -146,7 +138,6 @@ const CashCassettes = () => {
const [setCassetteBills, { error }] = useMutation(SET_CASSETTE_BILLS, {
refetchQueries: () => ['getData']
})
- const [createBatch] = useMutation(CREATE_BATCH)
const [saveConfig] = useMutation(SAVE_CONFIG, {
onCompleted: () => setEditingSchema(false),
refetchQueries: () => ['getData']
@@ -163,32 +154,17 @@ const CashCassettes = () => {
...R.map(it => it.numberOfCassettes, machines),
0
)
- const cashboxCounts = R.reduce(
- (ret, m) => R.assoc(m.id, m.cashbox, ret),
- {},
- machines
- )
- const onSave = (id, cashbox, cassette1, cassette2, cassette3, cassette4) => {
- const oldCashboxCount = cashboxCounts[id]
- if (cashbox < oldCashboxCount) {
- createBatch({
- variables: {
- deviceId: id,
- cashboxCount: oldCashboxCount
- }
- })
- }
+ const getCashoutSettings = id => fromNamespace(id)(cashout)
+ const isCashOutDisabled = ({ id }) => !getCashoutSettings(id).active
+ const onSave = (id, cashbox, cassettes) => {
return setCassetteBills({
variables: {
action: 'setCassetteBills',
deviceId: id,
cashbox,
- cassette1,
- cassette2,
- cassette3,
- cassette4
+ ...cassettes
}
})
}
@@ -208,9 +184,6 @@ const CashCassettes = () => {
}
}
- const getCashoutSettings = id => fromNamespace(id)(cashout)
- const isCashOutDisabled = ({ id }) => !getCashoutSettings(id).active
-
const radioButtonOptions = [
{ display: 'Automatic', code: AUTOMATIC },
{ display: 'Manual', code: MANUAL }
@@ -299,7 +272,7 @@ const CashCassettes = () => {
{
const [{ step, config }, setState] = useState({
step: 0,
@@ -27,6 +30,17 @@ const Wizard = ({ machine, cashoutSettings, locale, onClose, save, error }) => {
const title = `Update counts`
const isLastStep = step === LAST_STEP
+ const buildCassetteObj = cassetteInput => {
+ return R.reduce(
+ (acc, value) => {
+ acc[value] = defaultToZero(cassetteInput[value])
+ return acc
+ },
+ {},
+ CASSETTE_FIELDS
+ )
+ }
+
const onContinue = it => {
const newConfig = R.merge(config, it)
@@ -37,9 +51,9 @@ const Wizard = ({ machine, cashoutSettings, locale, onClose, save, error }) => {
].includes('YES')
const cashbox = wasCashboxEmptied ? 0 : machine?.cashbox
+ const cassettes = buildCassetteObj(it)
- const { cassette1, cassette2, cassette3, cassette4 } = R.map(parseInt, it)
- save(machine.id, cashbox, cassette1, cassette2, cassette3, cassette4)
+ save(machine.id, cashbox, cassettes)
return onClose()
}
@@ -66,6 +80,18 @@ const Wizard = ({ machine, cashoutSettings, locale, onClose, save, error }) => {
}))
)
+ const makeInitialValues = () =>
+ !R.isEmpty(cashoutSettings)
+ ? R.reduce(
+ (acc, value) => {
+ acc[`cassette${value}`] = ''
+ return acc
+ },
+ {},
+ R.range(1, numberOfCassettes + 1)
+ )
+ : {}
+
const steps = R.prepend(
{
type: 'cashbox',
@@ -99,6 +125,7 @@ const Wizard = ({ machine, cashoutSettings, locale, onClose, save, error }) => {
steps={steps}
fiatCurrency={locale.fiatCurrency}
onContinue={onContinue}
+ initialValues={makeInitialValues()}
/>
)}
diff --git a/new-lamassu-admin/src/utils/number.js b/new-lamassu-admin/src/utils/number.js
index e05d5796..f0c7e15c 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 { defaultToZero, transformNumber }