Skip to content
Snippets Groups Projects
Commit 470e60cf authored by Alexandru Munteanu's avatar Alexandru Munteanu
Browse files

feat(component-user): fix token issue and allow user to authenticate himself

parent 64412045
No related branches found
No related tags found
3 merge requests!222Sprint #26,!217Sprint #26,!200Component user add user
......@@ -27,6 +27,7 @@ import {
} from 'pubsweet-component-faraday-ui'
const FormModal = ({
edit,
roles,
title,
titles,
......@@ -39,10 +40,16 @@ const FormModal = ({
initialValues,
confirmText = 'OK',
cancelText = 'Cancel',
user,
}) => (
<Root>
<IconButton icon="x" onClick={onClose} right={5} secondary top={5} />
<H2>{title}</H2>
{edit && (
<Text mb={1} secondary>
{get(user, 'email', '')}
</Text>
)}
<Formik
initialValues={initialValues}
onSubmit={onSubmit}
......@@ -53,30 +60,28 @@ const FormModal = ({
errors.email = 'Required'
}
if (get(values, 'affiliation', '') === '') {
errors.affiliation = 'Required'
}
return errors
}}
>
{({ handleSubmit, ...rest }) => (
<Fragment>
<Row alignItems="baseline" mb={1} mt={1}>
<ItemOverrideAlert mr={1} vertical>
<Label required>Email</Label>
<ValidatedFieldFormik
component={TextField}
inline
name="email"
validate={[required]}
/>
</ItemOverrideAlert>
<ItemOverrideAlert ml={1} vertical>
<Label required>Role</Label>
<ValidatedMenuField name="role" options={roles} />
</ItemOverrideAlert>
</Row>
{!edit && (
<Row alignItems="baseline" mb={1} mt={1}>
<ItemOverrideAlert mr={1} vertical>
<Label required>Email</Label>
<ValidatedFieldFormik
component={TextField}
inline
name="email"
validate={[required]}
/>
</ItemOverrideAlert>
<ItemOverrideAlert ml={1} vertical>
<Label required>Role</Label>
<ValidatedMenuField name="role" options={roles} />
</ItemOverrideAlert>
</Row>
)}
<Row mb={2}>
<Item mr={1} vertical>
......@@ -109,8 +114,14 @@ const FormModal = ({
</RowOverrideAlert>
<Row mb={3}>
<Item vertical>
<Label required>Affiliation</Label>
{edit && (
<ItemOverrideAlert mr={1} vertical>
<Label required>Role</Label>
<ValidatedMenuField name="role" options={roles} />
</ItemOverrideAlert>
)}
<Item ml={edit && 1} vertical>
<Label>Affiliation</Label>
<ValidatedFieldFormik
component={TextField}
inline
......
......@@ -26,7 +26,7 @@ module.exports = {
},
},
accessTokens: {
confirmation: chance.hash(),
passwordReset: chance.hash(),
unsubscribe: chance.hash(),
},
}
......
......@@ -206,6 +206,14 @@ async function applyAuthenticatedUserPolicy(user, operation, object, context) {
) {
return helpers.isOwner({ user, object: object.fragment })
}
// allow user to authenticate itself
if (
get(object, 'type') === 'user' &&
get(object, 'id') === get(user, 'id')
) {
return true
}
}
if (operation === 'PATCH') {
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment