From 8a5593e7147efd821e5289be9740d37e93188d90 Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Thu, 6 Oct 2016 17:03:23 +0000 Subject: [PATCH] When converting submission events to doc events, post them in chronological order. Don't add upload doc events until we're past the possibility of submission cancellation. - Legacy-Id: 12097 --- ietf/submit/utils.py | 7 +++++-- ietf/submit/views.py | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ietf/submit/utils.py b/ietf/submit/utils.py index f443f32b7..5a1ba7b97 100644 --- a/ietf/submit/utils.py +++ b/ietf/submit/utils.py @@ -140,7 +140,8 @@ def docevent_from_submission(request, submission, desc, who=None): def post_rev00_submission_events(draft, submission, submitter): # Add previous submission events as docevents # For now we'll filter based on the description - for subevent in submission.submissionevent_set.all(): + events = [] + for subevent in submission.submissionevent_set.all().order_by('id'): desc = subevent.desc if desc.startswith("Uploaded submission"): desc = "Uploaded new revision" @@ -168,6 +169,8 @@ def post_rev00_submission_events(draft, submission, submitter): e.by = submitter e.desc = desc e.save() + events.append(e) + return events def post_submission(request, submission, approvedDesc): @@ -218,7 +221,7 @@ def post_submission(request, submission, approvedDesc): if draft.rev == '00': # Add all the previous submission events as docevents - post_rev00_submission_events(draft, submission, submitter) + events += post_rev00_submission_events(draft, submission, submitter) # Add an approval docevent e = DocEvent.objects.create( diff --git a/ietf/submit/views.py b/ietf/submit/views.py index bf8f03e08..51ed2c9a3 100644 --- a/ietf/submit/views.py +++ b/ietf/submit/views.py @@ -192,7 +192,7 @@ def upload_submission(request): break create_submission_event(request, submission, desc="Uploaded submission") - docevent_from_submission(request, submission, desc="Uploaded new revision") + # Don't add an "Uploaded new revision doevent yet, in case of cancellation return redirect("ietf.submit.views.submission_status", submission_id=submission.pk, access_token=submission.access_token()) except IOError as e: