@@ -111,8 +111,7 @@ def create_submission_event(request, submission, desc):
111111
112112 SubmissionEvent .objects .create (submission = submission , by = by , desc = desc )
113113
114-
115- def docevent_from_submission (request , submission , desc ):
114+ def docevent_from_submission (request , submission , desc , who = None ):
116115 system = Person .objects .get (name = "(System)" )
117116
118117 try :
@@ -121,18 +120,22 @@ def docevent_from_submission(request, submission, desc):
121120 # Assume this is revision 00 - we'll do this later
122121 return
123122
124- submitter_parsed = submission .submitter_parsed ()
125- if submitter_parsed ["name" ] and submitter_parsed ["email" ]:
126- submitter = ensure_person_email_info_exists (submitter_parsed ["name" ], submitter_parsed ["email" ]).person
123+ if who :
124+ by = Person .objects .get (name = who )
127125 else :
128- submitter = system
129-
130- e = DocEvent (doc = draft )
131- e .by = submitter
132- e .type = "added_comment"
133- e .desc = desc
134- e .save ()
126+ submitter_parsed = submission .submitter_parsed ()
127+ if submitter_parsed ["name" ] and submitter_parsed ["email" ]:
128+ by = ensure_person_email_info_exists (submitter_parsed ["name" ], submitter_parsed ["email" ]).person
129+ else :
130+ by = system
135131
132+ e = DocEvent .objects .create (
133+ doc = draft ,
134+ by = by ,
135+ type = "added_comment" ,
136+ desc = desc ,
137+ )
138+ return e
136139
137140def post_rev00_submission_events (draft , submission , submitter ):
138141 # Add previous submission events as docevents
@@ -213,6 +216,19 @@ def post_submission(request, submission, approvedDesc):
213216
214217 events = []
215218
219+ if draft .rev == '00' :
220+ # Add all the previous submission events as docevents
221+ post_rev00_submission_events (draft , submission , submitter )
222+
223+ # Add an approval docevent
224+ e = DocEvent .objects .create (
225+ type = "added_comment" ,
226+ doc = draft ,
227+ by = system ,
228+ desc = approvedDesc
229+ )
230+ events .append (e )
231+
216232 # new revision event
217233 e = NewRevisionDocEvent .objects .create (
218234 type = "new_revision" ,
@@ -234,33 +250,16 @@ def post_submission(request, submission, approvedDesc):
234250 if trouble :
235251 log ('Rebuild_reference_relations trouble: %s' % trouble )
236252
237- if draft .rev == '00' :
238- # Add all the previous submission events as docevents
239- post_rev00_submission_events (draft , submission , submitter )
240-
241- # Add an approval docevent
242- e = DocEvent (type = "added_comment" , doc = draft )
243- e .time = draft .time #submission.submission_date
244- e .by = submitter
245- e .desc = approvedDesc
246- e .save ()
247-
248- # new revision event
249- e = NewRevisionDocEvent (type = "new_revision" , doc = draft , rev = draft .rev )
250- e .time = draft .time #submission.submission_date
251- e .by = submitter
252- e .desc = "New version available: <b>%s-%s.txt</b>" % (draft .name , draft .rev )
253- e .save ()
254-
255253 if draft .stream_id == "ietf" and draft .group .type_id == "wg" and draft .rev == "00" :
256254 # automatically set state "WG Document"
257255 draft .set_state (State .objects .get (used = True , type = "draft-stream-%s" % draft .stream_id , slug = "wg-doc" ))
258256
257+ # automatic state changes for IANA review
259258 if draft .get_state_slug ("draft-iana-review" ) in ("ok-act" , "ok-noact" , "not-ok" ):
260259 prev_state = draft .get_state ("draft-iana-review" )
261260 next_state = State .objects .get (used = True , type = "draft-iana-review" , slug = "changed" )
262261 draft .set_state (next_state )
263- e = add_state_change_event (draft , submitter , prev_state , next_state )
262+ e = add_state_change_event (draft , system , prev_state , next_state )
264263 if e :
265264 events .append (e )
266265
0 commit comments