diff --git a/src/Components/CreateImageWizard/steps/Users/component/UserInfo.tsx b/src/Components/CreateImageWizard/steps/Users/component/UserInfo.tsx index 38353521a..51b016ea5 100644 --- a/src/Components/CreateImageWizard/steps/Users/component/UserInfo.tsx +++ b/src/Components/CreateImageWizard/steps/Users/component/UserInfo.tsx @@ -1,13 +1,15 @@ import React from 'react'; -import { FormGroup } from '@patternfly/react-core'; +import { FormGroup, Checkbox } from '@patternfly/react-core'; import { useAppDispatch, useAppSelector } from '../../../../../store/hooks'; import { + selectUserAdministrator, selectUserNameByIndex, selectUserPasswordByIndex, setUserNameByIndex, setUserPasswordByIndex, + setUserAdministratorByIndex, } from '../../../../../store/wizardSlice'; import { HookValidatedInput } from '../../../ValidatedTextInput'; const UserInfo = () => { @@ -17,6 +19,8 @@ const UserInfo = () => { const userName = useAppSelector(userNameSelector); const userPasswordSelector = selectUserPasswordByIndex(index); const userPassword = useAppSelector(userPasswordSelector); + const userIsAdministratorSelector = selectUserAdministrator(index); + const userAdministrator = useAppSelector(userIsAdministratorSelector); const handleNameChange = ( _e: React.FormEvent, @@ -32,6 +36,15 @@ const UserInfo = () => { dispatch(setUserPasswordByIndex({ index: index, password: value })); }; + const handleCheckboxChange = ( + _event: React.FormEvent, + value: boolean + ) => { + dispatch( + setUserAdministratorByIndex({ index: index, isAdministrator: value }) + ); + }; + const stepValidation = { errors: {}, disabledNext: false, @@ -59,6 +72,16 @@ const UserInfo = () => { fieldName="userPassword" /> + + handleCheckboxChange(_e, value)} + aria-label="Administrator" + id="user Administrator" + name="user Administrator" + /> + ); }; diff --git a/src/Components/CreateImageWizard/utilities/requestMapper.ts b/src/Components/CreateImageWizard/utilities/requestMapper.ts index da8ab819b..f61bb4cdf 100644 --- a/src/Components/CreateImageWizard/utilities/requestMapper.ts +++ b/src/Components/CreateImageWizard/utilities/requestMapper.ts @@ -583,6 +583,9 @@ const getUsers = (state: RootState): User[] | undefined => { if (user.password !== '') { result.password = user.password; } + if (user.groups !== undefined) { + result.groups = user.groups; + } return result as User; }); }; diff --git a/src/store/wizardSlice.ts b/src/store/wizardSlice.ts index bed2c0740..5ecd8cc0d 100644 --- a/src/store/wizardSlice.ts +++ b/src/store/wizardSlice.ts @@ -906,5 +906,6 @@ export const { addUser, setUserNameByIndex, setUserPasswordByIndex, + setUserAdministratorByIndex, } = wizardSlice.actions; export default wizardSlice.reducer;