parent
1e880cb95c
commit
5e8fd0744c
web/src/app/submissions/[submissionId]
@ -15,7 +15,8 @@ interface ReviewButton {
|
||||
}
|
||||
|
||||
interface ReviewId {
|
||||
submissionId: string
|
||||
submissionId: string,
|
||||
submissionStatus: number,
|
||||
}
|
||||
|
||||
async function ReviewButtonClicked(action: ApiActions, submissionId: string) {
|
||||
@ -61,9 +62,8 @@ export default function ReviewButtons(props: ReviewId) {
|
||||
// RequestChanges | Reviewer | Validated, Accepted, Submitted
|
||||
// Upload | MapAdmin | Validated
|
||||
// ResetUploading | MapAdmin | Uploading
|
||||
const { submissionId } = props;
|
||||
const { submissionId, submissionStatus } = props;
|
||||
const [roles, setRoles] = useState<Roles>(Roles.Empty);
|
||||
const [status, setStatus] = useState<SubmissionStatus>(SubmissionStatus.UnderConstruction);
|
||||
const [loading, setLoading] = useState(true);
|
||||
|
||||
useEffect(() => {
|
||||
@ -73,14 +73,7 @@ export default function ReviewButtons(props: ReviewId) {
|
||||
const rolesResponse = await fetch("/api/session/roles");
|
||||
const rolesData = parseInt(await rolesResponse.text());
|
||||
|
||||
// Fetch submission status
|
||||
const statusResponse = await fetch(
|
||||
`/api/submissions/${submissionId}/status`
|
||||
);
|
||||
const statusData = await statusResponse.json();
|
||||
|
||||
setRoles(rolesData);
|
||||
setStatus(statusData.status);
|
||||
} catch (error) {
|
||||
console.error("Error fetching data:", error);
|
||||
} finally {
|
||||
@ -97,35 +90,35 @@ export default function ReviewButtons(props: ReviewId) {
|
||||
|
||||
const is_submitter = false; // TODO: MY_USER === submission.Submitter
|
||||
if (is_submitter) {
|
||||
if ([SubmissionStatus.UnderConstruction, SubmissionStatus.ChangesRequested].includes(status!)) {
|
||||
if ([SubmissionStatus.UnderConstruction, SubmissionStatus.ChangesRequested].includes(submissionStatus!)) {
|
||||
visibleButtons.push({ name: "Submit", action: "submit", color: "info", submissionId });
|
||||
}
|
||||
if ([SubmissionStatus.Submitted, SubmissionStatus.ChangesRequested].includes(status!)) {
|
||||
if ([SubmissionStatus.Submitted, SubmissionStatus.ChangesRequested].includes(submissionStatus!)) {
|
||||
visibleButtons.push({ name: "Revoke", action: "revoke", color: "info", submissionId });
|
||||
}
|
||||
}
|
||||
|
||||
if (roles&Roles.SubmissionReview) {
|
||||
if (status === SubmissionStatus.Submitted) {
|
||||
if (submissionStatus === SubmissionStatus.Submitted) {
|
||||
visibleButtons.push({ name: "Accept", action: "trigger-validate", color: "info", submissionId });
|
||||
visibleButtons.push({ name: "Reject", action: "reject", color: "error", submissionId });
|
||||
}
|
||||
if (status === SubmissionStatus.Accepted) {
|
||||
if (submissionStatus === SubmissionStatus.Accepted) {
|
||||
visibleButtons.push({ name: "Validate", action: "retry-validate", color: "info", submissionId });
|
||||
}
|
||||
if (status === SubmissionStatus.Validating) {
|
||||
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(status!)) {
|
||||
if ([SubmissionStatus.Validated, SubmissionStatus.Accepted, SubmissionStatus.Submitted].includes(submissionStatus!)) {
|
||||
visibleButtons.push({ name: "Request Changes", action: "request-changes", color: "error", submissionId });
|
||||
}
|
||||
}
|
||||
|
||||
if (roles&Roles.SubmissionUpload) {
|
||||
if (status === SubmissionStatus.Validated) {
|
||||
if (submissionStatus === SubmissionStatus.Validated) {
|
||||
visibleButtons.push({ name: "Upload", action: "trigger-upload", color: "info", submissionId });
|
||||
}
|
||||
if (status === SubmissionStatus.Uploading) {
|
||||
if (submissionStatus === SubmissionStatus.Uploading) {
|
||||
visibleButtons.push({ name: "Reset Uploading (fix softlocked status)", action: "reset-uploading", color: "error", submissionId });
|
||||
}
|
||||
}
|
||||
|
@ -17,6 +17,7 @@ import "./(styles)/page.scss";
|
||||
interface ReviewId {
|
||||
submissionId: string;
|
||||
assetId: number;
|
||||
submissionStatus: number;
|
||||
}
|
||||
|
||||
function Ratings() {
|
||||
@ -47,7 +48,7 @@ function RatingArea(submission: ReviewId) {
|
||||
<MapImage id={submission.assetId}/>
|
||||
</section>
|
||||
<Ratings/>
|
||||
<ReviewButtons submissionId={submission.submissionId}/>
|
||||
<ReviewButtons submissionId={submission.submissionId} submissionStatus={submission.submissionStatus}/>
|
||||
</aside>
|
||||
)
|
||||
}
|
||||
@ -97,7 +98,7 @@ export default function SubmissionInfoPage() {
|
||||
<Webpage>
|
||||
<main className="map-page-main">
|
||||
<section className="review-section">
|
||||
<RatingArea assetId={submission.AssetID} submissionId={dynamicId.submissionId}/>
|
||||
<RatingArea assetId={submission.AssetID} submissionId={dynamicId.submissionId} submissionStatus={submission.StatusID}/>
|
||||
<TitleAndComments name={submission.DisplayName} creator={submission.Creator} review={submission.StatusID} status_message={submission.StatusMessage} asset_id={submission.AssetID} comments={[]}/>
|
||||
</section>
|
||||
</main>
|
||||
|
Loading…
x
Reference in New Issue
Block a user