Skip to content

Commit 881d925

Browse files
authored
Merge pull request #560 from bcgsc/bugfix/DEVSU-2431-unexpected-json-error-when-signing
DEVSU-2431-fix unexpected json error when signing
2 parents da93db6 + 6ba0cf5 commit 881d925

File tree

1 file changed

+21
-10
lines changed

1 file changed

+21
-10
lines changed

app/components/SignatureCard/index.tsx

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -45,32 +45,44 @@ const SignatureCard = ({
4545
const { userDetails } = useSecurity();
4646

4747
const [userSignature, setUserSignature] = useState<UserType>();
48-
const [role, setRole] = useState('');
48+
const [role, setRole] = useState<string>();
4949

5050
useEffect(() => {
51+
if (type) { // need to do these separately because signatures may be null
52+
if (type === 'author') {
53+
setRole('author');
54+
} else if (type === 'reviewer') {
55+
setRole('reviewer');
56+
} else if (type === 'creator') {
57+
setRole('creator');
58+
}
59+
}
5160
if (signatures && type) {
5261
if (type === 'author') {
5362
setUserSignature(signatures.authorSignature);
54-
setRole('author');
5563
} else if (type === 'reviewer') {
5664
setUserSignature(signatures.reviewerSignature);
57-
setRole('reviewer');
5865
} else if (type === 'creator') {
5966
setUserSignature(signatures.creatorSignature);
60-
setRole('bioinformatician');
6167
}
6268
}
6369
}, [signatures, type, setRole]);
6470

6571
const handleSign = useCallback(async () => {
6672
let newReport = null;
6773

74+
let reportRole = role;
6875
// Assign user
6976
try {
77+
if (role === 'creator') {
78+
reportRole = 'bioinformatician';
79+
} else if (role === 'author') {
80+
// Hardcode analyst role here because report does not accept 'author'
81+
reportRole = 'analyst';
82+
}
7083
newReport = await api.post(
7184
`/reports/${report.ident}/user`,
72-
// Hardcode analyst role here because report does not accept 'author'
73-
{ user: userDetails.ident, role: 'analyst' },
85+
{ user: userDetails.ident, role: reportRole },
7486
{},
7587
).request();
7688
} catch (e) {
@@ -79,7 +91,6 @@ const SignatureCard = ({
7991
snackbar.error('Error assigning user to report: ', e.message);
8092
}
8193
}
82-
8394
// Do signature
8495
try {
8596
const newSignature = await api.put(
@@ -198,9 +209,9 @@ const SignatureCard = ({
198209
Date
199210
</Typography>
200211
{renderDate ?? (
201-
<Typography>
202-
{NON_BREAKING_SPACE}
203-
</Typography>
212+
<Typography>
213+
{NON_BREAKING_SPACE}
214+
</Typography>
204215
)}
205216
</div>
206217
{userSignature?.ident && canEdit && (

0 commit comments

Comments
 (0)