Skip to content

Commit 7fb3e91

Browse files
committed
Functional changes allowing consensus to be set back to Unknown. Fixes ticket ietf-tools#1150. Commit ready to merge.
- Legacy-Id: 7589
1 parent df14554 commit 7fb3e91

3 files changed

Lines changed: 12 additions & 6 deletions

File tree

ietf/doc/tests_draft.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -365,6 +365,12 @@ def test_edit_consensus(self):
365365

366366
self.assertEqual(draft.latest_event(ConsensusDocEvent, type="changed_consensus").consensus, True)
367367

368+
# reset
369+
r = self.client.post(url, dict(consensus="Unknown"))
370+
self.assertEqual(r.status_code, 302)
371+
372+
self.assertEqual(draft.latest_event(ConsensusDocEvent, type="changed_consensus").consensus, None)
373+
368374

369375
class ResurrectTests(TestCase):
370376
def test_request_resurrect(self):

ietf/doc/views_draft.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1139,7 +1139,7 @@ def edit_ad(request, name):
11391139
context_instance = RequestContext(request))
11401140

11411141
class ConsensusForm(forms.Form):
1142-
consensus = forms.ChoiceField(choices=(("", "Unknown"), ("Yes", "Yes"), ("No", "No")), required=True)
1142+
consensus = forms.ChoiceField(choices=(("Unknown", "Unknown"), ("Yes", "Yes"), ("No", "No")), required=True)
11431143

11441144
def edit_consensus(request, name):
11451145
"""Change whether the draft is a consensus document or not."""
@@ -1156,9 +1156,9 @@ def edit_consensus(request, name):
11561156
if request.method == 'POST':
11571157
form = ConsensusForm(request.POST)
11581158
if form.is_valid():
1159-
if form.cleaned_data["consensus"] != bool(prev_consensus):
1159+
if form.cleaned_data["consensus"] != prev_consensus:
11601160
e = ConsensusDocEvent(doc=doc, type="changed_consensus", by=request.user.person)
1161-
e.consensus = form.cleaned_data["consensus"] == "Yes"
1161+
e.consensus = {"Unknown":None,"Yes":True,"No":False}[form.cleaned_data["consensus"]]
11621162

11631163
e.desc = "Changed consensus to <b>%s</b> from %s" % (nice_consensus(e.consensus),
11641164
nice_consensus(prev_consensus))
@@ -1168,7 +1168,7 @@ def edit_consensus(request, name):
11681168
return redirect('doc_view', name=doc.name)
11691169

11701170
else:
1171-
form = ConsensusForm(initial=dict(consensus=nice_consensus(prev_consensus).replace("Unknown", "")))
1171+
form = ConsensusForm(initial=dict(consensus=nice_consensus(prev_consensus)))
11721172

11731173
return render_to_response('doc/draft/change_consensus.html',
11741174
{'form': form,
@@ -1260,7 +1260,7 @@ def request_publication(request, name):
12601260
doc=doc,
12611261
message=m,
12621262
next_state=next_state,
1263-
consensus_filled_in=consensus_event != None,
1263+
consensus_filled_in= ( (consensus_event != None) and (consensus_event.consensus != None) ),
12641264
),
12651265
context_instance = RequestContext(request))
12661266

ietf/iesg/agenda.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ def fill_in_agenda_docs(date, sections, matches=None):
172172
if doc.stream_id in ("ietf", "irtf", "iab"):
173173
doc.consensus = "Unknown"
174174
e = doc.latest_event(ConsensusDocEvent, type="changed_consensus")
175-
if e:
175+
if e and (e.consensus != None):
176176
doc.consensus = "Yes" if e.consensus else "No"
177177
elif doc.type_id == "conflrev":
178178
doc.conflictdoc = doc.relateddocument_set.get(relationship__slug='conflrev').target.document

0 commit comments

Comments
 (0)