diff --git a/ietf/doc/expire.py b/ietf/doc/expire.py index 19ddf775e..3d4839652 100644 --- a/ietf/doc/expire.py +++ b/ietf/doc/expire.py @@ -80,6 +80,9 @@ def in_draft_expire_freeze(when=None): meeting = Meeting.objects.filter(type='ietf', date__gte=when-datetime.timedelta(days=7)).order_by('date').first() + if not meeting: + return False + d = meeting.get_second_cut_off() # for some reason, the old Perl code started at 9 am second_cut_off = datetime.datetime.combine(d, datetime.time(9, 0)) diff --git a/ietf/doc/tests_draft.py b/ietf/doc/tests_draft.py index 67b25f94c..35f69bf7b 100644 --- a/ietf/doc/tests_draft.py +++ b/ietf/doc/tests_draft.py @@ -645,6 +645,9 @@ class ExpireIDsTests(DraftFileMixin, TestCase): def test_in_draft_expire_freeze(self): from ietf.doc.expire import in_draft_expire_freeze + # If there is no "next" meeting, we musn't be in a freeze + self.assertTrue(not in_draft_expire_freeze()) + meeting = Meeting.objects.create(number="123", type=MeetingTypeName.objects.get(slug="ietf"), date=datetime.date.today()) diff --git a/ietf/submit/forms.py b/ietf/submit/forms.py index ea93557c1..12eadeb34 100644 --- a/ietf/submit/forms.py +++ b/ietf/submit/forms.py @@ -78,6 +78,8 @@ class SubmissionBaseUploadForm(forms.Form): def set_cutoff_warnings(self): now = datetime.datetime.now(pytz.utc) meeting = Meeting.get_current_meeting() + if not meeting: + return # cutoff_00 = meeting.get_00_cutoff() cutoff_01 = meeting.get_01_cutoff() diff --git a/ietf/submit/tests.py b/ietf/submit/tests.py index 582871f9b..7764b2726 100644 --- a/ietf/submit/tests.py +++ b/ietf/submit/tests.py @@ -859,6 +859,10 @@ class SubmitTests(TestCase): def test_submit_new_individual_xml(self): self.submit_new_individual(["xml"]) + def test_submit_new_individual_xml_no_next_meeting(self): + Meeting.objects.all().delete() + self.submit_new_individual(["xml"]) + def test_submit_new_individual_txt_xml(self): self.submit_new_individual(["txt", "xml"])