diff --git a/portals/admin/src/main/webapp/source/src/app/components/AdminPages/Addons/FormDialogBase.jsx b/portals/admin/src/main/webapp/source/src/app/components/AdminPages/Addons/FormDialogBase.jsx
index b4f3e45b43e..c736d6be2a5 100644
--- a/portals/admin/src/main/webapp/source/src/app/components/AdminPages/Addons/FormDialogBase.jsx
+++ b/portals/admin/src/main/webapp/source/src/app/components/AdminPages/Addons/FormDialogBase.jsx
@@ -42,6 +42,7 @@ function FormDialogBase({
formSaveCallback,
dialogOpenCallback,
triggerIconProps,
+ saveButtonDisabled,
}) {
const [open, setOpen] = React.useState(false);
const [saving, setSaving] = useState(false);
@@ -104,7 +105,7 @@ function FormDialogBase({
onClick={saveTriggerd}
color='primary'
variant='contained'
- disabled={saving}
+ disabled={saving || saveButtonDisabled}
data-testid='form-dialog-base-save-btn'
>
{saving ? () : (<>{saveButtonText}>)}
@@ -124,6 +125,7 @@ FormDialogBase.defaultProps = {
color: 'primary',
component: 'span',
},
+ saveButtonDisabled: false,
};
FormDialogBase.propTypes = {
@@ -142,6 +144,7 @@ FormDialogBase.propTypes = {
triggerIconProps: PropTypes.shape({}),
formSaveCallback: PropTypes.func.isRequired,
dialogOpenCallback: PropTypes.func,
+ saveButtonDisabled: PropTypes.bool,
};
export default FormDialogBase;
diff --git a/portals/admin/src/main/webapp/source/src/app/components/GatewayEnvironments/AddEditGWEnvironment.jsx b/portals/admin/src/main/webapp/source/src/app/components/GatewayEnvironments/AddEditGWEnvironment.jsx
index 55d71ba148b..1ad2842f115 100644
--- a/portals/admin/src/main/webapp/source/src/app/components/GatewayEnvironments/AddEditGWEnvironment.jsx
+++ b/portals/admin/src/main/webapp/source/src/app/components/GatewayEnvironments/AddEditGWEnvironment.jsx
@@ -498,6 +498,7 @@ function AddEditGWEnvironment(props) {
triggerButtonText={triggerButtonText}
formSaveCallback={formSaveCallback}
dialogOpenCallback={dialogOpenCallback}
+ saveButtonDisabled={!roleValidity}
>
{saving ? () : (
<>