Update Submission Button #321

Merged
itzaname merged 2 commits from update-submission into staging 2026-01-16 21:12:55 +00:00
3 changed files with 24 additions and 2 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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<ReviewButtonsProps> = ({
});
}
if (status === Status.Submitted) {
submitterButtons.push({
action: ReviewActions.Update,
color: "success",
});
}
if (StatusMatches(status, [Status.Submitted, Status.ChangesRequested])) {
submitterButtons.push({
action: ReviewActions.Revoke,