diff --git a/web/src/app/submissions/[submissionId]/_reviewButtons.tsx b/web/src/app/submissions/[submissionId]/_reviewButtons.tsx index 0209ce3..eb97f2a 100644 --- a/web/src/app/submissions/[submissionId]/_reviewButtons.tsx +++ b/web/src/app/submissions/[submissionId]/_reviewButtons.tsx @@ -92,7 +92,8 @@ export default function ReviewButtons(props: ReviewId) { const visibleButtons: ReviewButton[] = []; - if (user === props.submissionSubmitter) { + const is_submitter = user === props.submissionSubmitter; + if (is_submitter) { if ([SubmissionStatus.UnderConstruction, SubmissionStatus.ChangesRequested].includes(submissionStatus!)) { visibleButtons.push({ name: "Submit", action: "submit", color: "info", submissionId }); } @@ -102,7 +103,9 @@ export default function ReviewButtons(props: ReviewId) { } if (roles&RolesConstants.SubmissionReview) { - if (submissionStatus === SubmissionStatus.Submitted) { + // you can't review your own submission! + // note that this means there needs to be more than one person with SubmissionReview + if (!is_submitter && submissionStatus === SubmissionStatus.Submitted) { visibleButtons.push({ name: "Accept", action: "trigger-validate", color: "info", submissionId }); visibleButtons.push({ name: "Reject", action: "reject", color: "error", submissionId }); } @@ -112,7 +115,12 @@ export default function ReviewButtons(props: ReviewId) { if (submissionStatus === SubmissionStatus.Validating) { visibleButtons.push({ name: "Reset Validating (fix softlocked status)", action: "reset-validating", color: "error", submissionId }); } - if ([SubmissionStatus.Validated, SubmissionStatus.Accepted, SubmissionStatus.Submitted].includes(submissionStatus!)) { + // this button serves the same purpose as Revoke if you are both + // the map submitter and have SubmissionReview when status is Submitted + if ( + [SubmissionStatus.Validated, SubmissionStatus.Accepted].includes(submissionStatus!) + || !is_submitter && submissionStatus == SubmissionStatus.Submitted + ) { visibleButtons.push({ name: "Request Changes", action: "request-changes", color: "error", submissionId }); } }