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
|
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]
|
const oldCashboxCount = cashboxCounts[id]
|
||||||
if (cashbox < oldCashboxCount) {
|
if (cashbox < oldCashboxCount) {
|
||||||
createBatch({
|
createBatch({
|
||||||
|
|
@ -167,15 +170,10 @@ const CashCassettes = () => {
|
||||||
action: 'setCassetteBills',
|
action: 'setCassetteBills',
|
||||||
deviceId: id,
|
deviceId: id,
|
||||||
cashbox,
|
cashbox,
|
||||||
cassette1,
|
...cassettes
|
||||||
cassette2,
|
|
||||||
cassette3,
|
|
||||||
cassette4
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
const getCashoutSettings = id => fromNamespace(id)(cashout)
|
|
||||||
const isCashOutDisabled = ({ id }) => !getCashoutSettings(id).active
|
|
||||||
|
|
||||||
const elements = [
|
const elements = [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,8 @@ const MODAL_WIDTH = 554
|
||||||
const MODAL_HEIGHT = 520
|
const MODAL_HEIGHT = 520
|
||||||
const CASHBOX_DEFAULT_CAPACITY = 500
|
const CASHBOX_DEFAULT_CAPACITY = 500
|
||||||
|
|
||||||
|
const CASSETTE_FIELDS = ['cassette1', 'cassette2', 'cassette3', 'cassette4']
|
||||||
|
|
||||||
const Wizard = ({ machine, cashoutSettings, locale, onClose, save, error }) => {
|
const Wizard = ({ machine, cashoutSettings, locale, onClose, save, error }) => {
|
||||||
const [{ step, config }, setState] = useState({
|
const [{ step, config }, setState] = useState({
|
||||||
step: 0,
|
step: 0,
|
||||||
|
|
@ -26,6 +28,17 @@ const Wizard = ({ machine, cashoutSettings, locale, onClose, save, error }) => {
|
||||||
const title = `Update counts`
|
const title = `Update counts`
|
||||||
const isLastStep = step === LAST_STEP
|
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 onContinue = it => {
|
||||||
if (isLastStep) {
|
if (isLastStep) {
|
||||||
const wasCashboxEmptied = [
|
const wasCashboxEmptied = [
|
||||||
|
|
@ -34,12 +47,9 @@ const Wizard = ({ machine, cashoutSettings, locale, onClose, save, error }) => {
|
||||||
].includes('YES')
|
].includes('YES')
|
||||||
|
|
||||||
const cashbox = wasCashboxEmptied ? 0 : machine?.cashbox
|
const cashbox = wasCashboxEmptied ? 0 : machine?.cashbox
|
||||||
|
const cassettes = buildCassetteObj(it)
|
||||||
|
|
||||||
const { cassette1, cassette2, cassette3, cassette4 } = R.map(
|
save(machine.id, cashbox, cassettes)
|
||||||
defaultToZero,
|
|
||||||
it
|
|
||||||
)
|
|
||||||
save(machine.id, cashbox, cassette1, cassette2, cassette3, cassette4)
|
|
||||||
return onClose()
|
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(
|
const steps = R.prepend(
|
||||||
{
|
{
|
||||||
type: 'cashbox',
|
type: 'cashbox',
|
||||||
|
|
@ -98,6 +120,7 @@ const Wizard = ({ machine, cashoutSettings, locale, onClose, save, error }) => {
|
||||||
steps={steps}
|
steps={steps}
|
||||||
fiatCurrency={locale.fiatCurrency}
|
fiatCurrency={locale.fiatCurrency}
|
||||||
onContinue={onContinue}
|
onContinue={onContinue}
|
||||||
|
initialValues={makeInitialValues()}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</Modal>
|
</Modal>
|
||||||
|
|
|
||||||
|
|
@ -112,7 +112,8 @@ const WizardStep = ({
|
||||||
lastStep,
|
lastStep,
|
||||||
steps,
|
steps,
|
||||||
fiatCurrency,
|
fiatCurrency,
|
||||||
onContinue
|
onContinue,
|
||||||
|
initialValues
|
||||||
}) => {
|
}) => {
|
||||||
const classes = useStyles()
|
const classes = useStyles()
|
||||||
|
|
||||||
|
|
@ -211,12 +212,7 @@ const WizardStep = ({
|
||||||
validateOnBlur={false}
|
validateOnBlur={false}
|
||||||
validateOnChange={false}
|
validateOnChange={false}
|
||||||
onSubmit={onContinue}
|
onSubmit={onContinue}
|
||||||
initialValues={{
|
initialValues={initialValues}
|
||||||
cassette1: '',
|
|
||||||
cassette2: '',
|
|
||||||
cassette3: '',
|
|
||||||
cassette4: ''
|
|
||||||
}}
|
|
||||||
enableReinitialize
|
enableReinitialize
|
||||||
validationSchema={steps[step - 1].schema}>
|
validationSchema={steps[step - 1].schema}>
|
||||||
{({ values }) => (
|
{({ values }) => (
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue