Allow ballot text to be edited after the ballot is approved. Fixes #3157. Related to #3119. Commit ready to merge.

- Legacy-Id: 18791
This commit is contained in:
Robert Sparks 2021-01-11 22:59:11 +00:00
parent 03e5121f72
commit e94f5c15ff
2 changed files with 11 additions and 15 deletions

View file

@ -393,9 +393,6 @@ class BallotWriteupsTests(TestCase):
ballot_writeup="This is a simple test.",
save_ballot_writeup="1"))
self.assertEqual(r.status_code, 200)
msgs = [m for m in r.context['messages']]
self.assertTrue(1 == len(msgs))
self.assertTrue("Writeup not changed" in msgs[0].message)
d = Document.objects.get(name=draft.name)
self.assertTrue('approved' == d.get_state_slug('draft-iesg'))

View file

@ -8,7 +8,6 @@ import datetime, json
from django import forms
from django.conf import settings
from django.contrib import messages
from django.http import HttpResponse, HttpResponseRedirect, Http404
from django.shortcuts import render, get_object_or_404, redirect
from django.template.defaultfilters import striptags
@ -608,19 +607,19 @@ def ballot_writeupnotes(request, name):
if form.is_valid():
if prev_state.slug in ['ann', 'approved', 'rfcqueue', 'pub']:
ballot_already_approved = True
messages.warning(request, "There is an approved ballot for %s. Writeup not changed." % doc.name)
else:
ballot_already_approved = False
t = form.cleaned_data["ballot_writeup"]
if t != existing.text:
e = WriteupDocEvent(doc=doc, rev=doc.rev, by=login)
e.by = login
e.type = "changed_ballot_writeup_text"
e.desc = "Ballot writeup was changed"
e.text = t
e.save()
elif existing.pk == None:
existing.save()
t = form.cleaned_data["ballot_writeup"]
if t != existing.text:
e = WriteupDocEvent(doc=doc, rev=doc.rev, by=login)
e.by = login
e.type = "changed_ballot_writeup_text"
e.desc = "Ballot writeup was changed"
e.text = t
e.save()
elif existing.pk == None:
existing.save()
if "issue_ballot" in request.POST and not ballot_already_approved:
if prev_state.slug in ['watching', 'writeupw', 'goaheadw']: