diff --git a/new-lamassu-admin/src/pages/Services/FormRenderer.js b/new-lamassu-admin/src/pages/Services/FormRenderer.js index 776c78b7..ac0c0a5c 100644 --- a/new-lamassu-admin/src/pages/Services/FormRenderer.js +++ b/new-lamassu-admin/src/pages/Services/FormRenderer.js @@ -2,7 +2,7 @@ import { makeStyles, Grid } from '@material-ui/core' import classnames from 'classnames' import { Formik, Form, FastField } from 'formik' import * as R from 'ramda' -import React from 'react' +import React, { useState } from 'react' import ErrorMessage from 'src/components/ErrorMessage' import { Button } from 'src/components/buttons' @@ -48,6 +48,8 @@ const FormRenderer = ({ const values = R.merge(initialValues, value) + const [saveError, setSaveError] = useState([]) + const saveNonEmptySecret = it => { const emptySecretFields = R.compose( R.map(R.prop('code')), @@ -57,7 +59,9 @@ const FormRenderer = ({ R.isEmpty(it[R.prop('code', elem)]) ) )(elements) - return save(R.omit(emptySecretFields, it)) + return save(R.omit(emptySecretFields, it)).catch(s => { + setSaveError({ save: 'Failed to save changes' }) + }) } return ( @@ -87,8 +91,10 @@ const FormRenderer = ({ )}
- {!R.isEmpty(errors) && ( - {R.head(R.values(errors))} + {!R.isEmpty(R.mergeRight(errors, saveError)) && ( + + {R.head(R.values(R.mergeRight(errors, saveError)))} + )}