From cad08f29bb82196d6597f364af3eda29d6e2f8e0 Mon Sep 17 00:00:00 2001
From: Nikola Ubavic <53820106+ubavic@users.noreply.github.com>
Date: Mon, 15 Nov 2021 22:32:50 +0100
Subject: [PATCH 1/3] fix: remove duplicate CashBox history
---
new-lamassu-admin/src/pages/Maintenance/CashCassettes.js | 1 -
1 file changed, 1 deletion(-)
diff --git a/new-lamassu-admin/src/pages/Maintenance/CashCassettes.js b/new-lamassu-admin/src/pages/Maintenance/CashCassettes.js
index d138065c..0bb108bf 100644
--- a/new-lamassu-admin/src/pages/Maintenance/CashCassettes.js
+++ b/new-lamassu-admin/src/pages/Maintenance/CashCassettes.js
@@ -300,7 +300,6 @@ const CashCassettes = () => {
{showHistory && (
)}
- {showHistory && }
Date: Tue, 16 Nov 2021 16:01:42 +0100
Subject: [PATCH 2/3] fix: `Performed by` are independent
---
.../src/pages/Maintenance/CashboxHistory.js | 46 +++++++++++++------
1 file changed, 31 insertions(+), 15 deletions(-)
diff --git a/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.js b/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.js
index 6809cfdf..7e2cd8f4 100644
--- a/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.js
+++ b/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.js
@@ -65,9 +65,8 @@ const useStyles = makeStyles(styles)
const CashboxHistory = ({ machines, currency }) => {
const classes = useStyles()
- const [editing, setEditing] = useState(false)
const [error, setError] = useState(false)
- const [fields, setFields] = useState({})
+ const [fields, setFields] = useState([])
const { data, loading } = useQuery(GET_BATCHES)
@@ -111,21 +110,27 @@ const CashboxHistory = ({ machines, currency }) => {
}
const save = row => {
+ const _performedBy = R.prop(
+ 'performedBy',
+ R.find(f => f.id === row.id, fields)
+ )
+
+ const performedBy = _performedBy === '' ? null : _performedBy
+
schema
- .isValid(fields)
+ .isValid(performedBy)
.then(() => {
setError(false)
editBatch({
- variables: { id: row.id, performedBy: fields?.performedBy }
+ variables: { id: row.id, performedBy: performedBy }
})
})
.catch(setError(true))
- return close()
+ return close(row.id)
}
- const close = () => {
- setFields({})
- return setEditing(false)
+ const close = id => {
+ setFields(R.filter(f => f.id !== id, fields))
}
const elements = [
@@ -192,16 +197,25 @@ const CashboxHistory = ({ machines, currency }) => {
width: 180,
textAlign: 'left',
view: it => {
- if (!editing)
+ if (!R.any(R.propEq('id', it.id), fields))
return R.isNil(it.performedBy) ? 'Unknown entity' : it.performedBy
return (
- setFields({ ...fields, performedBy: e.target.value })
+ setFields(
+ R.map(
+ f =>
+ f.id === it.id ? { ...f, performedBy: e.target.value } : f,
+ fields
+ )
+ )
}
error={error}
width={190 * 0.85}
- value={fields.performedBy ?? ''}
+ value={R.prop(
+ 'performedBy',
+ R.find(f => f.id === it.id, fields)
+ )}
/>
)
}
@@ -212,12 +226,14 @@ const CashboxHistory = ({ machines, currency }) => {
width: 150,
textAlign: 'right',
view: it => {
- if (!editing)
+ if (!R.any(R.propEq('id', it.id), fields))
return (
{
- setFields({})
- setEditing(true)
+ setFields([
+ ...fields,
+ { id: it.id, performedBy: it.performedBy }
+ ])
}}>
@@ -227,7 +243,7 @@ const CashboxHistory = ({ machines, currency }) => {
save(it)}>
Save
-
+ close(it.id)}>
Cancel
From 784c4c3ab1bccb10144b9610a2ffb762ff64f063 Mon Sep 17 00:00:00 2001
From: Nikola Ubavic <53820106+ubavic@users.noreply.github.com>
Date: Tue, 16 Nov 2021 22:57:11 +0100
Subject: [PATCH 3/3] fix: validation
chore: create `notEditing` function
---
.../src/pages/Maintenance/CashboxHistory.js | 16 +++++++---------
1 file changed, 7 insertions(+), 9 deletions(-)
diff --git a/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.js b/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.js
index 7e2cd8f4..1846bebe 100644
--- a/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.js
+++ b/new-lamassu-admin/src/pages/Maintenance/CashboxHistory.js
@@ -110,15 +110,11 @@ const CashboxHistory = ({ machines, currency }) => {
}
const save = row => {
- const _performedBy = R.prop(
- 'performedBy',
- R.find(f => f.id === row.id, fields)
- )
-
- const performedBy = _performedBy === '' ? null : _performedBy
+ const field = R.find(f => f.id === row.id, fields)
+ const performedBy = field.performedBy === '' ? null : field.performedBy
schema
- .isValid(performedBy)
+ .isValid(field)
.then(() => {
setError(false)
editBatch({
@@ -133,6 +129,8 @@ const CashboxHistory = ({ machines, currency }) => {
setFields(R.filter(f => f.id !== id, fields))
}
+ const notEditing = id => !R.any(R.propEq('id', id), fields)
+
const elements = [
{
name: 'operation',
@@ -197,7 +195,7 @@ const CashboxHistory = ({ machines, currency }) => {
width: 180,
textAlign: 'left',
view: it => {
- if (!R.any(R.propEq('id', it.id), fields))
+ if (notEditing(it.id))
return R.isNil(it.performedBy) ? 'Unknown entity' : it.performedBy
return (
{
width: 150,
textAlign: 'right',
view: it => {
- if (!R.any(R.propEq('id', it.id), fields))
+ if (notEditing(it.id))
return (
{