From 2f00c3028fec1bfd1855f80ae7c3aad8692270c3 Mon Sep 17 00:00:00 2001 From: Ole Laursen Date: Fri, 23 Dec 2011 20:46:49 +0000 Subject: [PATCH] Don't use IDDates in new schema, use dates from Meeting - Legacy-Id: 3790 --- ietf/idrfc/expire.py | 13 ++++++++++--- ietf/idrfc/testsREDESIGN.py | 26 ++++++++++++++------------ 2 files changed, 24 insertions(+), 15 deletions(-) diff --git a/ietf/idrfc/expire.py b/ietf/idrfc/expire.py index 5a35dd05e..54b811293 100644 --- a/ietf/idrfc/expire.py +++ b/ietf/idrfc/expire.py @@ -12,18 +12,25 @@ from ietf.idrfc.utils import log_state_changed, add_document_comment from redesign.doc.models import Document, DocEvent, save_document_in_history, State from redesign.name.models import DocTagName from redesign.person.models import Person, Email +from ietf.meeting.models import Meeting INTERNET_DRAFT_DAYS_TO_EXPIRE = 185 def in_id_expire_freeze(when=None): if when == None: when = datetime.datetime.now() - - d = IDDates.objects.get(id=IDDates.SECOND_CUT_OFF).date + + if settings.USE_DB_REDESIGN_PROXY_CLASSES: + d = Meeting.get_second_cut_off() + else: + d = IDDates.objects.get(id=IDDates.SECOND_CUT_OFF).date # for some reason, the old Perl code started at 9 am second_cut_off = datetime.datetime.combine(d, datetime.time(9, 0)) - d = IDDates.objects.get(id=IDDates.IETF_MONDAY).date + if settings.USE_DB_REDESIGN_PROXY_CLASSES: + d = Meeting.get_ietf_monday() + else: + d = IDDates.objects.get(id=IDDates.IETF_MONDAY).date ietf_monday = datetime.datetime.combine(d, datetime.time(0, 0)) return second_cut_off <= when < ietf_monday diff --git a/ietf/idrfc/testsREDESIGN.py b/ietf/idrfc/testsREDESIGN.py index 131f4b573..2b311eadd 100644 --- a/ietf/idrfc/testsREDESIGN.py +++ b/ietf/idrfc/testsREDESIGN.py @@ -33,7 +33,7 @@ import unittest import StringIO import os, shutil -from datetime import date, timedelta +from datetime import date, timedelta, time import django.test from django.core.urlresolvers import reverse as urlreverse @@ -41,11 +41,11 @@ from django.conf import settings from pyquery import PyQuery -from ietf.idtracker.models import IDDates from redesign.doc.models import * from redesign.name.models import * from redesign.group.models import * from redesign.person.models import * +from ietf.meeting.models import Meeting, MeetingTypeName from ietf.iesg.models import TelechatDate from ietf.utils.test_utils import SimpleUrlTestCase, RealDatabaseTest, login_testing_unauthorized from ietf.utils.test_data import make_test_data @@ -844,16 +844,18 @@ class ExpireIDsTestCase(django.test.TestCase): def test_in_id_expire_freeze(self): from ietf.idrfc.expire import in_id_expire_freeze - - # dummy id dates - IDDates.objects.create(id=IDDates.SECOND_CUT_OFF, date=datetime.date(2010, 7, 12), description="", f_name="") - IDDates.objects.create(id=IDDates.IETF_MONDAY, date=datetime.date(2010, 7, 26), description="", f_name="") - - self.assertTrue(not in_id_expire_freeze(datetime.datetime(2010, 7, 11, 0, 0))) - self.assertTrue(not in_id_expire_freeze(datetime.datetime(2010, 7, 12, 8, 0))) - self.assertTrue(in_id_expire_freeze(datetime.datetime(2010, 7, 12, 10, 0))) - self.assertTrue(in_id_expire_freeze(datetime.datetime(2010, 7, 25, 0, 0))) - self.assertTrue(not in_id_expire_freeze(datetime.datetime(2010, 7, 26, 0, 0))) + + Meeting.objects.create(number="123", + type=MeetingTypeName.objects.get(slug="ietf"), + date=date.today()) + second_cut_off = Meeting.get_second_cut_off() + ietf_monday = Meeting.get_ietf_monday() + + self.assertTrue(not in_id_expire_freeze(datetime.datetime.combine(second_cut_off - datetime.timedelta(days=7), time(0, 0, 0)))) + self.assertTrue(not in_id_expire_freeze(datetime.datetime.combine(second_cut_off, time(0, 0, 0)))) + self.assertTrue(in_id_expire_freeze(datetime.datetime.combine(second_cut_off + datetime.timedelta(days=7), time(0, 0, 0)))) + self.assertTrue(in_id_expire_freeze(datetime.datetime.combine(ietf_monday - datetime.timedelta(days=1), time(0, 0, 0)))) + self.assertTrue(not in_id_expire_freeze(datetime.datetime.combine(ietf_monday, time(0, 0, 0)))) def test_warn_expirable_ids(self): from ietf.idrfc.expire import get_soon_to_expire_ids, send_expire_warning_for_id, INTERNET_DRAFT_DAYS_TO_EXPIRE