diff --git a/awx/ui_next/src/components/FormField/FormSubmitError.jsx b/awx/ui_next/src/components/FormField/FormSubmitError.jsx
index 3a85abfcd3..adc59806fb 100644
--- a/awx/ui_next/src/components/FormField/FormSubmitError.jsx
+++ b/awx/ui_next/src/components/FormField/FormSubmitError.jsx
@@ -9,7 +9,7 @@ const ErrorMessage = styled('div')`
ErrorMessage.displayName = 'ErrorMessage';
function FormSubmitError({ error }) {
- const [formError, setFormError] = useState(null);
+ const [errorMessage, setErrorMessage] = useState(null);
const { setErrors } = useFormikContext();
useEffect(() => {
@@ -21,22 +21,22 @@ function FormSubmitError({ error }) {
const errorMessages = error.response.data;
setErrors(errorMessages);
if (errorMessages.__all__) {
- setFormError({ message: errorMessages.__all__ });
+ setErrorMessage(errorMessages.__all__);
} else {
- setFormError(null);
+ setErrorMessage(null);
}
} else {
/* eslint-disable-next-line no-console */
console.error(error);
- setFormError(error);
+ setErrorMessage(error.message);
}
}, [error, setErrors]);
- if (!formError) {
+ if (!errorMessage) {
return null;
}
- return {formError.message};
+ return {errorMessage};
}
export default FormSubmitError;
diff --git a/awx/ui_next/src/screens/Project/ProjectAdd/ProjectAdd.jsx b/awx/ui_next/src/screens/Project/ProjectAdd/ProjectAdd.jsx
index 919b8b2c71..bb646f53b0 100644
--- a/awx/ui_next/src/screens/Project/ProjectAdd/ProjectAdd.jsx
+++ b/awx/ui_next/src/screens/Project/ProjectAdd/ProjectAdd.jsx
@@ -41,13 +41,9 @@ function ProjectAdd() {
- {formSubmitError ? (
-
formSubmitError
- ) : (
- ''
- )}
);
diff --git a/awx/ui_next/src/screens/Project/ProjectEdit/ProjectEdit.jsx b/awx/ui_next/src/screens/Project/ProjectEdit/ProjectEdit.jsx
index 6f44ec8ab0..64ebf65c05 100644
--- a/awx/ui_next/src/screens/Project/ProjectEdit/ProjectEdit.jsx
+++ b/awx/ui_next/src/screens/Project/ProjectEdit/ProjectEdit.jsx
@@ -42,13 +42,9 @@ function ProjectEdit({ project }) {
project={project}
handleCancel={handleCancel}
handleSubmit={handleSubmit}
+ submitError={formSubmitError}
/>
- {formSubmitError ? (
- formSubmitError
- ) : (
- ''
- )}
);
}
diff --git a/awx/ui_next/src/screens/Project/shared/ProjectForm.jsx b/awx/ui_next/src/screens/Project/shared/ProjectForm.jsx
index ae72bd0896..cf92e518a9 100644
--- a/awx/ui_next/src/screens/Project/shared/ProjectForm.jsx
+++ b/awx/ui_next/src/screens/Project/shared/ProjectForm.jsx
@@ -10,7 +10,10 @@ import AnsibleSelect from '@components/AnsibleSelect';
import ContentError from '@components/ContentError';
import ContentLoading from '@components/ContentLoading';
import FormActionGroup from '@components/FormActionGroup/FormActionGroup';
-import FormField, { FieldTooltip } from '@components/FormField';
+import FormField, {
+ FieldTooltip,
+ FormSubmitError,
+} from '@components/FormField';
import FormRow from '@components/FormRow';
import OrganizationLookup from '@components/Lookup/OrganizationLookup';
import { CredentialTypesAPI, ProjectsAPI } from '@api';
@@ -70,7 +73,7 @@ const fetchCredentials = async credential => {
};
};
-function ProjectForm({ project, ...props }) {
+function ProjectForm({ project, submitError, ...props }) {
const { i18n, handleCancel, handleSubmit } = props;
const { summary_fields = {} } = project;
const [contentError, setContentError] = useState(null);
@@ -388,6 +391,7 @@ function ProjectForm({ project, ...props }) {
}
/>
)}
@@ -401,10 +405,12 @@ ProjectForm.propTypes = {
handleCancel: PropTypes.func.isRequired,
handleSubmit: PropTypes.func.isRequired,
project: PropTypes.shape({}),
+ submitError: PropTypes.shape({}),
};
ProjectForm.defaultProps = {
project: {},
+ submitError: null,
};
export default withI18n()(ProjectForm);