diff --git a/app/components/SignatureCard/index.tsx b/app/components/SignatureCard/index.tsx index fd6f67e2a..03d8cf0f9 100644 --- a/app/components/SignatureCard/index.tsx +++ b/app/components/SignatureCard/index.tsx @@ -45,19 +45,25 @@ const SignatureCard = ({ const { userDetails } = useSecurity(); const [userSignature, setUserSignature] = useState(); - const [role, setRole] = useState(''); + const [role, setRole] = useState(); useEffect(() => { + if (type) { // need to do these separately because signatures may be null + if (type === 'author') { + setRole('author'); + } else if (type === 'reviewer') { + setRole('reviewer'); + } else if (type === 'creator') { + setRole('creator'); + } + } if (signatures && type) { if (type === 'author') { setUserSignature(signatures.authorSignature); - setRole('author'); } else if (type === 'reviewer') { setUserSignature(signatures.reviewerSignature); - setRole('reviewer'); } else if (type === 'creator') { setUserSignature(signatures.creatorSignature); - setRole('bioinformatician'); } } }, [signatures, type, setRole]); @@ -65,12 +71,18 @@ const SignatureCard = ({ const handleSign = useCallback(async () => { let newReport = null; + let reportRole = role; // Assign user try { + if (role === 'creator') { + reportRole = 'bioinformatician'; + } else if (role === 'author') { + // Hardcode analyst role here because report does not accept 'author' + reportRole = 'analyst'; + } newReport = await api.post( `/reports/${report.ident}/user`, - // Hardcode analyst role here because report does not accept 'author' - { user: userDetails.ident, role: 'analyst' }, + { user: userDetails.ident, role: reportRole }, {}, ).request(); } catch (e) { @@ -79,7 +91,6 @@ const SignatureCard = ({ snackbar.error('Error assigning user to report: ', e.message); } } - // Do signature try { const newSignature = await api.put( diff --git a/package-lock.json b/package-lock.json index bccb28a1c..971ec2fed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ipr-client", - "version": "6.31.0", + "version": "6.31.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ipr-client", - "version": "6.31.0", + "version": "6.31.1", "license": "GPL-3.0", "dependencies": { "@ag-grid-community/client-side-row-model": "~25.3.0", diff --git a/package.json b/package.json index e1c323164..57ea05772 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "ipr-client", - "version": "6.31.0", + "version": "6.31.1", "keywords": [], "license": "GPL-3.0", "sideEffects": false,