Merge pull request #978 from chaotixkilla/fix-cash-cassettes-wizard-disabled-cashout
Fix cash cassettes wizard not working on disabled cash-out machines
This commit is contained in:
commit
18ab814ca8
3 changed files with 36 additions and 19 deletions
|
|
@ -151,7 +151,10 @@ const CashCassettes = () => {
|
|||
machines
|
||||
)
|
||||
|
||||
const onSave = (id, cashbox, cassette1, cassette2, cassette3, cassette4) => {
|
||||
const getCashoutSettings = id => fromNamespace(id)(cashout)
|
||||
const isCashOutDisabled = ({ id }) => !getCashoutSettings(id).active
|
||||
|
||||
const onSave = (id, cashbox, cassettes) => {
|
||||
const oldCashboxCount = cashboxCounts[id]
|
||||
if (cashbox < oldCashboxCount) {
|
||||
createBatch({
|
||||
|
|
@ -167,15 +170,10 @@ const CashCassettes = () => {
|
|||
action: 'setCassetteBills',
|
||||
deviceId: id,
|
||||
cashbox,
|
||||
cassette1,
|
||||
cassette2,
|
||||
cassette3,
|
||||
cassette4
|
||||
...cassettes
|
||||
}
|
||||
})
|
||||
}
|
||||
const getCashoutSettings = id => fromNamespace(id)(cashout)
|
||||
const isCashOutDisabled = ({ id }) => !getCashoutSettings(id).active
|
||||
|
||||
const elements = [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -12,6 +12,8 @@ const MODAL_WIDTH = 554
|
|||
const MODAL_HEIGHT = 520
|
||||
const CASHBOX_DEFAULT_CAPACITY = 500
|
||||
|
||||
const CASSETTE_FIELDS = ['cassette1', 'cassette2', 'cassette3', 'cassette4']
|
||||
|
||||
const Wizard = ({ machine, cashoutSettings, locale, onClose, save, error }) => {
|
||||
const [{ step, config }, setState] = useState({
|
||||
step: 0,
|
||||
|
|
@ -26,6 +28,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 => {
|
||||
if (isLastStep) {
|
||||
const wasCashboxEmptied = [
|
||||
|
|
@ -34,12 +47,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(
|
||||
defaultToZero,
|
||||
it
|
||||
)
|
||||
save(machine.id, cashbox, cassette1, cassette2, cassette3, cassette4)
|
||||
save(machine.id, cashbox, cassettes)
|
||||
return onClose()
|
||||
}
|
||||
|
||||
|
|
@ -66,6 +76,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',
|
||||
|
|
@ -98,6 +120,7 @@ const Wizard = ({ machine, cashoutSettings, locale, onClose, save, error }) => {
|
|||
steps={steps}
|
||||
fiatCurrency={locale.fiatCurrency}
|
||||
onContinue={onContinue}
|
||||
initialValues={makeInitialValues()}
|
||||
/>
|
||||
)}
|
||||
</Modal>
|
||||
|
|
|
|||
|
|
@ -112,7 +112,8 @@ const WizardStep = ({
|
|||
lastStep,
|
||||
steps,
|
||||
fiatCurrency,
|
||||
onContinue
|
||||
onContinue,
|
||||
initialValues
|
||||
}) => {
|
||||
const classes = useStyles()
|
||||
|
||||
|
|
@ -211,12 +212,7 @@ const WizardStep = ({
|
|||
validateOnBlur={false}
|
||||
validateOnChange={false}
|
||||
onSubmit={onContinue}
|
||||
initialValues={{
|
||||
cassette1: '',
|
||||
cassette2: '',
|
||||
cassette3: '',
|
||||
cassette4: ''
|
||||
}}
|
||||
initialValues={initialValues}
|
||||
enableReinitialize
|
||||
validationSchema={steps[step - 1].schema}>
|
||||
{({ values }) => (
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue