From a9d5e9ce18a8c0529a963e00af0dac6f06f71622 Mon Sep 17 00:00:00 2001 From: Rhys Lloyd Date: Tue, 6 Jan 2026 19:49:13 -0800 Subject: [PATCH 1/2] web: add button to update submission --- web/src/app/_components/review/ReviewButtons.tsx | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/web/src/app/_components/review/ReviewButtons.tsx b/web/src/app/_components/review/ReviewButtons.tsx index 1d9c83d..05c2d75 100644 --- a/web/src/app/_components/review/ReviewButtons.tsx +++ b/web/src/app/_components/review/ReviewButtons.tsx @@ -29,6 +29,13 @@ const ReviewActions = { confirmMessage: "Are you ready to submit this for review? The model version is locked in once submitted, but you can revoke it later if needed.", requiresConfirmation: true } as ReviewAction, + Update: { + name: "Update Model", + action: "trigger-submit", + confirmTitle: "Re-submit Latest Version", + confirmMessage: "This action is equivalent to clicking Revoke and then clicking Submit.", + requiresConfirmation: true + } as ReviewAction, AdminSubmit: { name: "Submit on Behalf of User", action: "trigger-submit", @@ -183,6 +190,13 @@ const ReviewButtons: React.FC = ({ }); } + if (status === Status.Submitted) { + submitterButtons.push({ + action: ReviewActions.Update, + color: "success", + }); + } + if (StatusMatches(status, [Status.Submitted, Status.ChangesRequested])) { submitterButtons.push({ action: ReviewActions.Revoke, -- 2.49.1 From 63d8d6e7387220c134b91b0fdfe09e45452cb2fc Mon Sep 17 00:00:00 2001 From: Rhys Lloyd Date: Tue, 6 Jan 2026 19:51:03 -0800 Subject: [PATCH 2/2] backend: allow update submitted model --- pkg/web_api/mapfixes.go | 6 +++++- pkg/web_api/submissions.go | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/pkg/web_api/mapfixes.go b/pkg/web_api/mapfixes.go index c3a659e..1acdb6c 100644 --- a/pkg/web_api/mapfixes.go +++ b/pkg/web_api/mapfixes.go @@ -559,7 +559,11 @@ func (svc *Service) ActionMapfixTriggerSubmit(ctx context.Context, params api.Ac target_status := model.MapfixStatusSubmitting update := service.NewMapfixUpdate() update.SetStatusID(target_status) - allow_statuses := []model.MapfixStatus{model.MapfixStatusUnderConstruction, model.MapfixStatusChangesRequested} + allow_statuses := []model.MapfixStatus{ + model.MapfixStatusUnderConstruction, + model.MapfixStatusChangesRequested, + model.MapfixStatusSubmitted, + } err = svc.inner.UpdateMapfixIfStatus(ctx, params.MapfixID, allow_statuses, update) if err != nil { return err diff --git a/pkg/web_api/submissions.go b/pkg/web_api/submissions.go index d24c737..99925b1 100644 --- a/pkg/web_api/submissions.go +++ b/pkg/web_api/submissions.go @@ -556,7 +556,11 @@ func (svc *Service) ActionSubmissionTriggerSubmit(ctx context.Context, params ap target_status := model.SubmissionStatusSubmitting update := service.NewSubmissionUpdate() update.SetStatusID(target_status) - allowed_statuses := []model.SubmissionStatus{model.SubmissionStatusUnderConstruction, model.SubmissionStatusChangesRequested} + allowed_statuses := []model.SubmissionStatus{ + model.SubmissionStatusUnderConstruction, + model.SubmissionStatusChangesRequested, + model.SubmissionStatusSubmitted, + } err = svc.inner.UpdateSubmissionIfStatus(ctx, params.SubmissionID, allowed_statuses, update) if err != nil { return err -- 2.49.1