hide more buttons in specific cases

This commit is contained in:
Quaternions 2025-04-04 14:53:27 -07:00
parent 6c2d759ca5
commit 6328db7d14
Signed by: Quaternions
GPG Key ID: D0DF5964F79AC131

@ -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 });
}
}