1717
1818from ietf .doc .models import *
1919from ietf .person .models import Person , Alias , Email
20- from ietf .doc .utils import active_ballot_positions
20+ from ietf .doc .utils import active_ballot_positions , add_state_change_event
2121from ietf .message .models import Message
2222
2323# Some useful states
@@ -133,28 +133,34 @@ def perform_postREDESIGN(request, submission):
133133 draft .expires = datetime .datetime .now () + datetime .timedelta (settings .INTERNET_DRAFT_DAYS_TO_EXPIRE )
134134 draft .save ()
135135
136- draft .set_state (State .objects .get (type = "draft" , slug = "active" ))
137- if draft .stream_id == "ietf" and draft .group .type_id == "wg" and draft .rev == "00" :
138- # automatically set state "WG Document"
139- draft .set_state (State .objects .get (type = "draft-stream-%s" % draft .stream_id , slug = "wg-doc" ))
140-
141- DocAlias .objects .get_or_create (name = submission .filename , document = draft )
142-
143- update_authors (draft , submission )
144-
145- # new revision event
146136 a = submission .tempidauthors_set .filter (author_order = 0 )
147137 if a :
148138 submitter = ensure_person_email_info_exists (a [0 ]).person
149139 else :
150140 submitter = system
151141
142+ draft .set_state (State .objects .get (type = "draft" , slug = "active" ))
143+ DocAlias .objects .get_or_create (name = submission .filename , document = draft )
144+
145+ update_authors (draft , submission )
146+
147+ # new revision event
152148 e = NewRevisionDocEvent (type = "new_revision" , doc = draft , rev = draft .rev )
153149 e .time = draft .time #submission.submission_date
154150 e .by = submitter
155151 e .desc = "New revision available"
156152 e .save ()
157153
154+ if draft .stream_id == "ietf" and draft .group .type_id == "wg" and draft .rev == "00" :
155+ # automatically set state "WG Document"
156+ draft .set_state (State .objects .get (type = "draft-stream-%s" % draft .stream_id , slug = "wg-doc" ))
157+
158+ if draft .get_state_slug ("draft-iana-review" ) in ("ok-act" , "ok-noact" , "not-ok" ):
159+ prev_state = draft .get_state ("draft-iana-review" )
160+ next_state = State .objects .get (type = "draft-iana-review" , slug = "changed" )
161+ draft .set_state (next_state )
162+ add_state_change_event (draft , submitter , prev_state , next_state )
163+
158164 # clean up old files
159165 if prev_rev != draft .rev :
160166 from ietf .idrfc .expire import move_draft_files_to_archive
@@ -178,8 +184,7 @@ def perform_postREDESIGN(request, submission):
178184 submission .status_id = POSTED
179185
180186 announce_to_lists (request , submission )
181- if draft .get_state ("draft-iesg" ) != None and not was_rfc :
182- announce_new_version (request , submission , draft , state_change_msg )
187+ announce_new_version (request , submission , draft , state_change_msg )
183188 announce_to_authors (request , submission )
184189
185190 submission .save ()
@@ -262,15 +267,27 @@ def announce_new_versionREDESIGN(request, submission, draft, state_change_msg):
262267 if draft .ad :
263268 to_email .append (draft .ad .role_email ("ad" ).address )
264269
270+ if draft .stream_id == "iab" :
271+ to_email .append ("IAB Chair <iab-chair@ietf.org>" )
272+ elif draft .stream_id == "ise" :
273+ to_email .append ("Independent Submission Editor <rfc-ise@rfc-editor.org>" )
274+ elif draft .stream_id == "irtf" :
275+ to_email .append ("IRSG <irsg@irtf.org>" )
276+
277+ # if it has been sent to the RFC Editor, keep them in the loop
278+ if draft .get_state_slug ("draft-iesg" ) in ("ann" , "rfcqueue" ):
279+ to_email .append ("RFC Editor <rfc-editor@rfc-editor.org>" )
280+
265281 for ad , pos in active_ballot_positions (draft ).iteritems ():
266282 if pos and pos .pos_id == "discuss" :
267283 to_email .append (ad .role_email ("ad" ).address )
268284
269- subject = 'New Version Notification - %s-%s.txt' % (submission .filename , submission .revision )
270- from_email = settings .IDSUBMIT_ANNOUNCE_FROM_EMAIL
271- send_mail (request , to_email , from_email , subject , 'submit/announce_new_version.txt' ,
272- {'submission' : submission ,
273- 'msg' : state_change_msg })
285+ if to_email :
286+ subject = 'New Version Notification - %s-%s.txt' % (submission .filename , submission .revision )
287+ from_email = settings .IDSUBMIT_ANNOUNCE_FROM_EMAIL
288+ send_mail (request , to_email , from_email , subject , 'submit/announce_new_version.txt' ,
289+ {'submission' : submission ,
290+ 'msg' : state_change_msg })
274291
275292if settings .USE_DB_REDESIGN_PROXY_CLASSES :
276293 announce_new_version = announce_new_versionREDESIGN
0 commit comments