From c4298f602ac865496f76e2cfdcf3e0f30c829a2c Mon Sep 17 00:00:00 2001 From: Ole Laursen Date: Wed, 2 May 2012 12:18:40 +0000 Subject: [PATCH] Offer text from latest approved revision in case there's no initial text for a recharter submit form. - Legacy-Id: 4350 --- ietf/wgcharter/views.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/ietf/wgcharter/views.py b/ietf/wgcharter/views.py index 4b06dc9de..8e2d59d18 100644 --- a/ietf/wgcharter/views.py +++ b/ietf/wgcharter/views.py @@ -245,9 +245,10 @@ def submit(request, name): not_uploaded_yet = charter.rev.endswith("-00") and not os.path.exists(os.path.join(settings.CHARTER_PATH, '%s-%s.txt' % (charter.canonical_name(), charter.rev))) if not_uploaded_yet: + # this case is special - we recently chartered or rechartered and have no file yet next_rev = charter.rev else: - # Search history for possible collisions with abandoned efforts + # search history for possible collisions with abandoned efforts prev_revs = list(charter.history_set.order_by('-time').values_list('rev', flat=True)) next_rev = next_revision(charter.rev) while next_rev in prev_revs: @@ -276,7 +277,17 @@ def submit(request, name): return HttpResponseRedirect(reverse('doc_view', kwargs={'name': charter.name})) else: init = { "content": ""} - filename = os.path.join(settings.CHARTER_PATH, '%s-%s.txt' % (charter.canonical_name(), charter.rev)) + c = charter + + if not_uploaded_yet: + # use text from last approved revision + last_approved = charter.rev.split("-")[0] + h = charter.history_set.filter(rev=last_approved).order_by("-time", "-id") + if h: + c = h[0] + + filename = os.path.join(settings.CHARTER_PATH, '%s-%s.txt' % (c.canonical_name(), c.rev)) + try: with open(filename, 'r') as f: init["content"] = f.read()