Allow regular users to change their info, including password.

Should fix #199
This commit is contained in:
Deluan
2021-04-28 22:35:25 -04:00
parent 22582392a0
commit a35de2bfd1
9 changed files with 77 additions and 25 deletions
+39 -17
View File
@@ -31,25 +31,47 @@ const UserTitle = ({ record }) => {
const UserToolbar = (props) => (
<Toolbar {...props} classes={useStyles()}>
<SaveButton />
<DeleteUserButton />
<SaveButton disabled={props.pristine} />
{props.permissions === 'admin' && <DeleteUserButton />}
</Toolbar>
)
const UserEdit = (props) => (
<Edit title={<UserTitle />} {...props}>
<SimpleForm variant={'outlined'} toolbar={<UserToolbar />}>
<TextInput source="userName" validate={[required()]} />
<TextInput source="name" validate={[required()]} />
<TextInput source="email" validate={[email()]} />
<PasswordInput source="password" validate={[required()]} />
<BooleanInput source="isAdmin" initialValue={false} />
<DateField variant="body1" source="lastLoginAt" showTime />
{/*<DateField source="lastAccessAt" showTime />*/}
<DateField variant="body1" source="updatedAt" showTime />
<DateField variant="body1" source="createdAt" showTime />
</SimpleForm>
</Edit>
)
const UserEdit = (props) => {
const { permissions } = props
const translate = useTranslate()
const getNameHelperText = () =>
props.id === localStorage.getItem('userId') && {
helperText: translate('resources.user.helperTexts.name'),
}
return (
<Edit title={<UserTitle />} {...props}>
<SimpleForm
variant={'outlined'}
toolbar={<UserToolbar />}
redirect={permissions === 'admin' ? 'list' : false}
>
{permissions === 'admin' && (
<TextInput source="userName" validate={[required()]} />
)}
<TextInput
source="name"
validate={[required()]}
{...getNameHelperText()}
/>
<TextInput source="email" validate={[email()]} />
<PasswordInput source="password" validate={[required()]} />
{permissions === 'admin' && (
<BooleanInput source="isAdmin" initialValue={false} />
)}
<DateField variant="body1" source="lastLoginAt" showTime />
{/*<DateField source="lastAccessAt" showTime />*/}
<DateField variant="body1" source="updatedAt" showTime />
<DateField variant="body1" source="createdAt" showTime />
</SimpleForm>
</Edit>
)
}
export default UserEdit