Skip to content

Commit cb458b1

Browse files
committed
Protect against cases where add_state_change_event can return None. Fixes bug # 1383. Commit ready for merge.
- Legacy-Id: 7677
1 parent bf4f3ad commit cb458b1

5 files changed

Lines changed: 11 additions & 11 deletions

File tree

ietf/doc/lastcall.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def expire_last_call(doc):
6161
system = Person.objects.get(name="(System)")
6262
e = add_state_change_event(doc, system, prev_state, new_state, prev_tags=prev_tags, new_tags=[])
6363

64-
doc.time = e.time
64+
doc.time = (e and e.time) or datetime.datetime.now()
6565
doc.save()
6666

6767
email_last_call_expired(doc)

ietf/doc/views_ballot.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def do_undefer_ballot(request, doc):
6464

6565
e = add_state_change_event(doc, login, prev_state, new_state, prev_tags=prev_tags, new_tags=new_tags)
6666

67-
doc.time = e.time
67+
doc.time = (e and e.time) or datetime.datetime.now()
6868
doc.save()
6969

7070
update_telechat(request, doc, login, telechat_date)
@@ -360,7 +360,7 @@ def defer_ballot(request, name):
360360

361361
e = add_state_change_event(doc, login, prev_state, new_state, prev_tags=prev_tags, new_tags=new_tags)
362362

363-
doc.time = e.time
363+
doc.time = (e and e.time) or datetime.datetime.now()
364364
doc.save()
365365

366366
email_state_changed(request, doc, e.desc)
@@ -450,7 +450,7 @@ def lastcalltext(request, name):
450450

451451
e = add_state_change_event(doc, login, prev_state, new_state, prev_tags=prev_tags, new_tags=[])
452452

453-
doc.time = e.time
453+
doc.time = (e and e.time) or datetime.datetime.now()
454454
doc.save()
455455

456456
email_state_changed(request, doc, e.desc)
@@ -694,7 +694,7 @@ def approve_ballot(request, name):
694694

695695
e = add_state_change_event(doc, login, prev_state, new_state, prev_tags=prev_tags, new_tags=[])
696696

697-
doc.time = e.time
697+
doc.time = (e and e.time) or datetime.datetime.now()
698698
doc.save()
699699

700700
email_state_changed(request, doc, change_description)
@@ -773,7 +773,7 @@ def make_last_call(request, name):
773773

774774
e = add_state_change_event(doc, login, prev_state, new_state, prev_tags=prev_tags, new_tags=new_tags)
775775

776-
doc.time = e.time
776+
doc.time = (e and e.time) or datetime.datetime.now()
777777
doc.save()
778778

779779
change_description = "Last call has been made for %s and state has been changed to %s" % (doc.name, new_state.name)

ietf/doc/views_charter.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -616,7 +616,7 @@ def approve(request, name):
616616

617617
change_description += " and %s state has been changed to %s" % (group.type.name, new_state.name)
618618

619-
e = add_state_change_event(charter, login, prev_charter_state, new_charter_state)
619+
add_state_change_event(charter, login, prev_charter_state, new_charter_state)
620620

621621
# according to spec, 00-02 becomes 01, so copy file and record new revision
622622
try:

ietf/doc/views_status_change.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,9 @@ def change_state(request, name, option=None):
5353
save_document_in_history(status_change)
5454

5555
status_change.set_state(new_state)
56-
add_state_change_event(status_change, login, prev_state, new_state)
56+
e = add_state_change_event(status_change, login, prev_state, new_state)
5757

58-
status_change.time = datetime.datetime.now()
58+
status_change.time = e.time
5959
status_change.save()
6060

6161
if new_state.slug == "iesgeval":
@@ -737,7 +737,7 @@ def last_call(request, name):
737737
status_change.set_state(new_state)
738738
e = add_state_change_event(status_change, login, prev_state, new_state)
739739

740-
status_change.time = e.time
740+
status_change.time = (e and e.time) or datetime.datetime.now()
741741
status_change.save()
742742

743743
request_last_call(request, status_change)

ietf/secr/telechat/views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ def doc_detail(request, date, name):
254254

255255
e = add_state_change_event(doc, login, prev_state, new_state,
256256
prev_tags=prev_tags, new_tags=new_tags)
257-
doc.time = e.time
257+
doc.time = (e and e.time) or datetime.datetime.now()
258258
doc.save()
259259

260260
email_state_changed(request, doc, e.desc)

0 commit comments

Comments
 (0)