diff --git a/new-lamassu-admin/src/pages/Machines/MachineComponents/Cassettes/Cassettes.js b/new-lamassu-admin/src/pages/Machines/MachineComponents/Cassettes/Cassettes.js
index 73647f30..54608d1b 100644
--- a/new-lamassu-admin/src/pages/Machines/MachineComponents/Cassettes/Cassettes.js
+++ b/new-lamassu-admin/src/pages/Machines/MachineComponents/Cassettes/Cassettes.js
@@ -2,12 +2,15 @@ import { useMutation } from '@apollo/react-hooks'
import { makeStyles } from '@material-ui/core'
import gql from 'graphql-tag'
import * as R from 'ramda'
-import React from 'react'
+import React, { useState } from 'react'
import * as Yup from 'yup'
+import { IconButton } from 'src/components/buttons'
import { Table as EditableTable } from 'src/components/editableTable'
import { CashOut, CashIn } from 'src/components/inputs/cashbox/Cashbox'
import { NumberInput, CashCassetteInput } from 'src/components/inputs/formik'
+import Wizard from 'src/pages/Maintenance/Wizard/Wizard'
+import { ReactComponent as EditIcon } from 'src/styling/icons/action/edit/enabled.svg'
import { fromNamespace } from 'src/utils/config'
import styles from './Cassettes.styles'
@@ -79,10 +82,20 @@ const SET_CASSETTE_BILLS = gql`
}
`
+const CREATE_BATCH = gql`
+ mutation createBatch($deviceId: ID, $cashboxCount: Int) {
+ createBatch(deviceId: $deviceId, cashboxCount: $cashboxCount) {
+ id
+ }
+ }
+`
+
const CashCassettes = ({ machine, config, refetchData }) => {
const data = { machine, config }
const classes = useStyles()
+ const [wizard, setWizard] = useState(false)
+
const cashout = data?.config && fromNamespace('cashOut')(data.config)
const locale = data?.config && fromNamespace('locale')(data.config)
const fiatCurrency = locale?.fiatCurrency
@@ -143,17 +156,43 @@ const CashCassettes = ({ machine, config, refetchData }) => {
1
)
+ elements.push({
+ name: 'edit',
+ header: 'Edit',
+ width: 87,
+ view: () => {
+ return (
+ {
+ setWizard(true)
+ }}>
+
+
+ )
+ }
+ })
+
const [setCassetteBills, { error }] = useMutation(SET_CASSETTE_BILLS, {
refetchQueries: () => refetchData()
})
- const onSave = (
- ...[, { deviceId, cashbox, cassette1, cassette2, cassette3, cassette4 }]
- ) => {
+ const [createBatch] = useMutation(CREATE_BATCH)
+
+ const onSave = (_, cashbox, cassette1, cassette2, cassette3, cassette4) => {
+ const oldCashboxCount = machine.cashbox
+ if (cashbox < oldCashboxCount) {
+ createBatch({
+ variables: {
+ deviceId: machine.deviceId,
+ cashboxCount: oldCashboxCount
+ }
+ })
+ }
+
return setCassetteBills({
variables: {
action: 'setCassetteBills',
- deviceId: deviceId,
+ deviceId: machine.deviceId,
cashbox,
cassette1,
cassette2,
@@ -164,18 +203,31 @@ const CashCassettes = ({ machine, config, refetchData }) => {
}
return machine.name ? (
-
+ <>
+
+ {wizard && (
+ {
+ setWizard(false)
+ }}
+ error={error?.message}
+ save={onSave}
+ locale={locale}
+ />
+ )}
+ >
) : null
}
diff --git a/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.js b/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.js
index b3e71917..5e08e783 100644
--- a/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.js
+++ b/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.js
@@ -163,7 +163,7 @@ const CashboxHistory = ({ machines, currency }) => {
{
name: 'total',
header: 'Total',
- width: 100,
+ width: 180,
textAlign: 'right',
view: it => (
@@ -217,7 +217,7 @@ const CashboxHistory = ({ machines, currency }) => {
{
name: '',
header: 'Edit',
- width: 150,
+ width: 80,
textAlign: 'right',
view: it => {
if (notEditing(it.id))
diff --git a/new-lamassu-admin/src/pages/Maintenance/Wizard/Wizard.js b/new-lamassu-admin/src/pages/Maintenance/Wizard/Wizard.js
index a7c99998..2f1e70ff 100644
--- a/new-lamassu-admin/src/pages/Maintenance/Wizard/Wizard.js
+++ b/new-lamassu-admin/src/pages/Maintenance/Wizard/Wizard.js
@@ -30,7 +30,14 @@ const Wizard = ({ machine, cashoutSettings, locale, onClose, save, error }) => {
if (isLastStep) {
const { cassette1, cassette2, cassette3, cassette4 } = R.map(parseInt, it)
- save(machine.id, cashbox, cassette1, cassette2, cassette3, cassette4)
+ save(
+ machine.id,
+ cashbox,
+ cassette1 ?? 0,
+ cassette2 ?? 0,
+ cassette3 ?? 0,
+ cassette4 ?? 0
+ )
return onClose()
}