@@ -262,11 +262,9 @@ def submit(request, name):
262262
263263 charter .rev = next_rev
264264
265- e = DocEvent ()
266- e .type = "new_revision"
267- e .by = login
268- e .doc = charter
265+ e = NewRevisionDocEvent (doc = charter , by = login , type = "new_revision" )
269266 e .desc = "New version available: <b>%s-%s.txt</b>" % (charter .canonical_name (), charter .rev )
267+ e .rev = charter .rev
270268 e .save ()
271269
272270 # Save file on disk
@@ -465,6 +463,22 @@ def approve(request, name):
465463
466464 close_open_ballots (charter , login )
467465
466+ # according to spec, 00-02 becomes 01, so copy file and record new revision
467+ try :
468+ old = os .path .join (charter .get_file_path (), '%s-%s.txt' % (charter .canonical_name (), charter .rev ))
469+ new = os .path .join (charter .get_file_path (), '%s-%s.txt' % (charter .canonical_name (), next_approved_revision (charter .rev )))
470+ shutil .copy (old , new )
471+ except IOError :
472+ raise Http404 ("Charter text %s" % filename )
473+
474+ charter .rev = next_approved_revision (charter .rev )
475+
476+ e = NewRevisionDocEvent (doc = charter , by = login , type = "new_revision" )
477+ e .desc = "New version available: <b>%s-%s.txt</b>" % (charter .canonical_name (), charter .rev )
478+ e .rev = charter .rev
479+ e .save ()
480+
481+ # approve
468482 e = DocEvent (doc = charter , by = login )
469483 e .type = "iesg_approved"
470484 e .desc = "IESG has approved the charter"
@@ -483,15 +497,6 @@ def approve(request, name):
483497
484498 e = log_state_changed (request , charter , login , prev_charter_state )
485499
486- # copy file
487- try :
488- old = os .path .join (charter .get_file_path (), '%s-%s.txt' % (charter .canonical_name (), charter .rev ))
489- new = os .path .join (charter .get_file_path (), '%s-%s.txt' % (charter .canonical_name (), next_approved_revision (charter .rev )))
490- shutil .copy (old , new )
491- except IOError :
492- raise Http404 ("Charter text %s" % filename )
493-
494- charter .rev = next_approved_revision (charter .rev )
495500 charter .time = e .time
496501 charter .save ()
497502
0 commit comments