From cb458b16898c35e91797119f71f1d4f08d1e4924 Mon Sep 17 00:00:00 2001 From: Robert Sparks Date: Wed, 30 Apr 2014 22:17:01 +0000 Subject: [PATCH] Protect against cases where add_state_change_event can return None. Fixes bug # 1383. Commit ready for merge. - Legacy-Id: 7677 --- ietf/doc/lastcall.py | 2 +- ietf/doc/views_ballot.py | 10 +++++----- ietf/doc/views_charter.py | 2 +- ietf/doc/views_status_change.py | 6 +++--- ietf/secr/telechat/views.py | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/ietf/doc/lastcall.py b/ietf/doc/lastcall.py index 22e1376a5..6310de4a4 100644 --- a/ietf/doc/lastcall.py +++ b/ietf/doc/lastcall.py @@ -61,7 +61,7 @@ def expire_last_call(doc): system = Person.objects.get(name="(System)") e = add_state_change_event(doc, system, prev_state, new_state, prev_tags=prev_tags, new_tags=[]) - doc.time = e.time + doc.time = (e and e.time) or datetime.datetime.now() doc.save() email_last_call_expired(doc) diff --git a/ietf/doc/views_ballot.py b/ietf/doc/views_ballot.py index 2c7143ba4..c347aedce 100644 --- a/ietf/doc/views_ballot.py +++ b/ietf/doc/views_ballot.py @@ -64,7 +64,7 @@ def do_undefer_ballot(request, doc): e = add_state_change_event(doc, login, prev_state, new_state, prev_tags=prev_tags, new_tags=new_tags) - doc.time = e.time + doc.time = (e and e.time) or datetime.datetime.now() doc.save() update_telechat(request, doc, login, telechat_date) @@ -360,7 +360,7 @@ def defer_ballot(request, name): e = add_state_change_event(doc, login, prev_state, new_state, prev_tags=prev_tags, new_tags=new_tags) - doc.time = e.time + doc.time = (e and e.time) or datetime.datetime.now() doc.save() email_state_changed(request, doc, e.desc) @@ -450,7 +450,7 @@ def lastcalltext(request, name): e = add_state_change_event(doc, login, prev_state, new_state, prev_tags=prev_tags, new_tags=[]) - doc.time = e.time + doc.time = (e and e.time) or datetime.datetime.now() doc.save() email_state_changed(request, doc, e.desc) @@ -694,7 +694,7 @@ def approve_ballot(request, name): e = add_state_change_event(doc, login, prev_state, new_state, prev_tags=prev_tags, new_tags=[]) - doc.time = e.time + doc.time = (e and e.time) or datetime.datetime.now() doc.save() email_state_changed(request, doc, change_description) @@ -773,7 +773,7 @@ def make_last_call(request, name): e = add_state_change_event(doc, login, prev_state, new_state, prev_tags=prev_tags, new_tags=new_tags) - doc.time = e.time + doc.time = (e and e.time) or datetime.datetime.now() doc.save() change_description = "Last call has been made for %s and state has been changed to %s" % (doc.name, new_state.name) diff --git a/ietf/doc/views_charter.py b/ietf/doc/views_charter.py index cfd883605..a3247eee2 100644 --- a/ietf/doc/views_charter.py +++ b/ietf/doc/views_charter.py @@ -616,7 +616,7 @@ def approve(request, name): change_description += " and %s state has been changed to %s" % (group.type.name, new_state.name) - e = add_state_change_event(charter, login, prev_charter_state, new_charter_state) + add_state_change_event(charter, login, prev_charter_state, new_charter_state) # according to spec, 00-02 becomes 01, so copy file and record new revision try: diff --git a/ietf/doc/views_status_change.py b/ietf/doc/views_status_change.py index da9730bd2..7c3244d32 100644 --- a/ietf/doc/views_status_change.py +++ b/ietf/doc/views_status_change.py @@ -53,9 +53,9 @@ def change_state(request, name, option=None): save_document_in_history(status_change) status_change.set_state(new_state) - add_state_change_event(status_change, login, prev_state, new_state) + e = add_state_change_event(status_change, login, prev_state, new_state) - status_change.time = datetime.datetime.now() + status_change.time = e.time status_change.save() if new_state.slug == "iesgeval": @@ -737,7 +737,7 @@ def last_call(request, name): status_change.set_state(new_state) e = add_state_change_event(status_change, login, prev_state, new_state) - status_change.time = e.time + status_change.time = (e and e.time) or datetime.datetime.now() status_change.save() request_last_call(request, status_change) diff --git a/ietf/secr/telechat/views.py b/ietf/secr/telechat/views.py index f2dfec9e6..84ca8b8cb 100644 --- a/ietf/secr/telechat/views.py +++ b/ietf/secr/telechat/views.py @@ -254,7 +254,7 @@ def doc_detail(request, date, name): e = add_state_change_event(doc, login, prev_state, new_state, prev_tags=prev_tags, new_tags=new_tags) - doc.time = e.time + doc.time = (e and e.time) or datetime.datetime.now() doc.save() email_state_changed(request, doc, e.desc)