Skip to content

Commit 705fccc

Browse files
Merge pull request ietf-tools#4646 from painless-security/jennifer/dbtemplate-fixes
fix: convert LastCallDocEvent.expires to DEADLINE_TZINFO to get date
2 parents d55280d + cbc6d15 commit 705fccc

5 files changed

Lines changed: 11 additions & 10 deletions

File tree

ietf/doc/expire.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ def send_expire_warning_for_draft(doc):
8686
(doc.get_state_slug("draft") != "active")):
8787
return # don't warn about dead or inactive documents
8888

89-
expiration = doc.expires.date()
89+
expiration = doc.expires.astimezone(DEADLINE_TZINFO).date()
9090

9191
(to,cc) = gather_address_lists('doc_expires_soon',doc=doc)
9292

@@ -173,7 +173,7 @@ def expire_draft(doc):
173173

174174
def clean_up_draft_files():
175175
"""Move unidentified and old files out of the Internet Draft directory."""
176-
cut_off = date_today()
176+
cut_off = date_today(DEADLINE_TZINFO)
177177

178178
pattern = os.path.join(settings.INTERNET_DRAFT_PATH, "draft-*.*")
179179
filename_re = re.compile(r'^(.*)-(\d\d)$')
@@ -216,7 +216,9 @@ def move_file_to(subdir):
216216

217217
if state in ("rfc","repl"):
218218
move_file_to("")
219-
elif state in ("expired", "auth-rm", "ietf-rm") and doc.expires and doc.expires.date() < cut_off:
219+
elif (state in ("expired", "auth-rm", "ietf-rm")
220+
and doc.expires
221+
and doc.expires.astimezone(DEADLINE_TZINFO).date() < cut_off):
220222
move_file_to("")
221223

222224
except Document.DoesNotExist:

ietf/doc/lastcall.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,10 @@ def request_last_call(request, doc):
3333
e.save()
3434

3535
def get_expired_last_calls():
36-
today = date_today(DEADLINE_TZINFO)
3736
for d in Document.objects.filter(Q(states__type="draft-iesg", states__slug="lc")
3837
| Q(states__type="statchg", states__slug="in-lc")):
3938
e = d.latest_event(LastCallDocEvent, type="sent_last_call")
40-
if e and e.expires.date() <= today:
39+
if e and e.expires.astimezone(DEADLINE_TZINFO).date() <= date_today(DEADLINE_TZINFO):
4140
yield d
4241

4342
def expire_last_call(doc):

ietf/doc/models.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
from ietf.utils.validators import validate_no_control_chars
3737
from ietf.utils.mail import formataddr
3838
from ietf.utils.models import ForeignKey
39-
from ietf.utils.timezone import date_today, RPC_TZINFO
39+
from ietf.utils.timezone import date_today, RPC_TZINFO, DEADLINE_TZINFO
4040
if TYPE_CHECKING:
4141
# importing other than for type checking causes errors due to cyclic imports
4242
from ietf.meeting.models import ProceedingsMaterial, Session
@@ -351,7 +351,7 @@ def friendly_state(self):
351351
elif iesg_state.slug == "lc":
352352
e = self.latest_event(LastCallDocEvent, type="sent_last_call")
353353
if e:
354-
return iesg_state_summary + " (ends %s)" % e.expires.date().isoformat()
354+
return iesg_state_summary + " (ends %s)" % e.expires.astimezone(DEADLINE_TZINFO).date().isoformat()
355355

356356
return iesg_state_summary
357357
else:

ietf/group/views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1690,7 +1690,7 @@ def email_open_review_assignments(request, acronym, group_type=None):
16901690
r.section = 'Last calls:'
16911691
r.section_order='1'
16921692
e = r.review_request.doc.latest_event(LastCallDocEvent, type="sent_last_call")
1693-
r.lastcall_ends = e and e.expires.date().isoformat()
1693+
r.lastcall_ends = e and e.expires.astimezone(DEADLINE_TZINFO).date().isoformat()
16941694
r.earlier_review = ReviewAssignment.objects.filter(review_request__doc=r.review_request.doc,reviewer__in=r.reviewer.person.email_set.all(),state="completed")
16951695
if r.earlier_review:
16961696
earlier_reviews_formatted = ['-{} {} reviewed'.format(ra.reviewed_rev, ra.review_request.type.slug) for ra in r.earlier_review]

ietf/review/utils.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -502,7 +502,7 @@ def suggested_review_requests_for_team(team):
502502

503503
requests = {}
504504

505-
now = timezone.now()
505+
now = timezone.now().astimezone(DEADLINE_TZINFO)
506506

507507
reviewable_docs_qs = Document.objects.filter(type="draft").exclude(stream="ise")
508508

@@ -518,7 +518,7 @@ def suggested_review_requests_for_team(team):
518518
for doc in last_call_docs:
519519
e = last_call_expiry_events[doc.pk] if doc.pk in last_call_expiry_events else LastCallDocEvent(expires=now, time=now)
520520

521-
deadline = e.expires.date()
521+
deadline = e.expires.astimezone(DEADLINE_TZINFO).date()
522522

523523
if deadline > seen_deadlines.get(doc.pk, datetime.date.max) or deadline < now.date():
524524
continue

0 commit comments

Comments
 (0)