@@ -449,6 +449,18 @@ def change_intention(request, name):
449449 c .save ()
450450 email_desc += "\n " + c .desc
451451
452+ de = doc .latest_event (ConsensusDocEvent , type = "changed_consensus" )
453+ prev_consensus = de and de .consensus
454+ print prev_consensus
455+ print doc .intended_std_level_id
456+ if not prev_consensus and doc .intended_std_level_id in ("std" , "ds" , "ps" , "bcp" ):
457+ ce = ConsensusDocEvent (doc = doc , by = login , type = "changed_consensus" )
458+ ce .consensus = True
459+ ce .desc = "Changed consensus to <b>%s</b> from %s" % (nice_consensus (True ),
460+ nice_consensus (prev_consensus ))
461+ ce .save ()
462+ email_desc += "\n " + ce .desc
463+
452464 doc .time = e .time
453465 doc .save ()
454466
@@ -1101,6 +1113,8 @@ def edit_consensus(request, name):
11011113 if form .cleaned_data ["consensus" ] != prev_consensus :
11021114 e = ConsensusDocEvent (doc = doc , type = "changed_consensus" , by = request .user .person )
11031115 e .consensus = {"Unknown" :None ,"Yes" :True ,"No" :False }[form .cleaned_data ["consensus" ]]
1116+ if not e .consensus and doc .intended_std_level_id in ("std" , "ds" , "ps" , "bcp" ):
1117+ return HttpResponseForbidden ("BCPs and Standards Track documents must have consensus" )
11041118
11051119 e .desc = "Changed consensus to <b>%s</b> from %s" % (nice_consensus (e .consensus ),
11061120 nice_consensus (prev_consensus ))
0 commit comments