fix: convert LastCallDocEvent.expires to DEADLINE_TZINFO to get date

This commit is contained in:
Jennifer Richards 2022-10-25 10:03:18 -03:00
parent d55280d0b1
commit cbc6d159a5
No known key found for this signature in database
GPG key ID: 26801E4DC0928410
5 changed files with 11 additions and 10 deletions

View file

@ -86,7 +86,7 @@ def send_expire_warning_for_draft(doc):
(doc.get_state_slug("draft") != "active")):
return # don't warn about dead or inactive documents
expiration = doc.expires.date()
expiration = doc.expires.astimezone(DEADLINE_TZINFO).date()
(to,cc) = gather_address_lists('doc_expires_soon',doc=doc)
@ -173,7 +173,7 @@ def expire_draft(doc):
def clean_up_draft_files():
"""Move unidentified and old files out of the Internet Draft directory."""
cut_off = date_today()
cut_off = date_today(DEADLINE_TZINFO)
pattern = os.path.join(settings.INTERNET_DRAFT_PATH, "draft-*.*")
filename_re = re.compile(r'^(.*)-(\d\d)$')
@ -216,7 +216,9 @@ def clean_up_draft_files():
if state in ("rfc","repl"):
move_file_to("")
elif state in ("expired", "auth-rm", "ietf-rm") and doc.expires and doc.expires.date() < cut_off:
elif (state in ("expired", "auth-rm", "ietf-rm")
and doc.expires
and doc.expires.astimezone(DEADLINE_TZINFO).date() < cut_off):
move_file_to("")
except Document.DoesNotExist:

View file

@ -33,11 +33,10 @@ def request_last_call(request, doc):
e.save()
def get_expired_last_calls():
today = date_today(DEADLINE_TZINFO)
for d in Document.objects.filter(Q(states__type="draft-iesg", states__slug="lc")
| Q(states__type="statchg", states__slug="in-lc")):
e = d.latest_event(LastCallDocEvent, type="sent_last_call")
if e and e.expires.date() <= today:
if e and e.expires.astimezone(DEADLINE_TZINFO).date() <= date_today(DEADLINE_TZINFO):
yield d
def expire_last_call(doc):

View file

@ -36,7 +36,7 @@ from ietf.utils.decorators import memoize
from ietf.utils.validators import validate_no_control_chars
from ietf.utils.mail import formataddr
from ietf.utils.models import ForeignKey
from ietf.utils.timezone import date_today, RPC_TZINFO
from ietf.utils.timezone import date_today, RPC_TZINFO, DEADLINE_TZINFO
if TYPE_CHECKING:
# importing other than for type checking causes errors due to cyclic imports
from ietf.meeting.models import ProceedingsMaterial, Session
@ -351,7 +351,7 @@ class DocumentInfo(models.Model):
elif iesg_state.slug == "lc":
e = self.latest_event(LastCallDocEvent, type="sent_last_call")
if e:
return iesg_state_summary + " (ends %s)" % e.expires.date().isoformat()
return iesg_state_summary + " (ends %s)" % e.expires.astimezone(DEADLINE_TZINFO).date().isoformat()
return iesg_state_summary
else:

View file

@ -1690,7 +1690,7 @@ def email_open_review_assignments(request, acronym, group_type=None):
r.section = 'Last calls:'
r.section_order='1'
e = r.review_request.doc.latest_event(LastCallDocEvent, type="sent_last_call")
r.lastcall_ends = e and e.expires.date().isoformat()
r.lastcall_ends = e and e.expires.astimezone(DEADLINE_TZINFO).date().isoformat()
r.earlier_review = ReviewAssignment.objects.filter(review_request__doc=r.review_request.doc,reviewer__in=r.reviewer.person.email_set.all(),state="completed")
if r.earlier_review:
earlier_reviews_formatted = ['-{} {} reviewed'.format(ra.reviewed_rev, ra.review_request.type.slug) for ra in r.earlier_review]

View file

@ -502,7 +502,7 @@ def suggested_review_requests_for_team(team):
requests = {}
now = timezone.now()
now = timezone.now().astimezone(DEADLINE_TZINFO)
reviewable_docs_qs = Document.objects.filter(type="draft").exclude(stream="ise")
@ -518,7 +518,7 @@ def suggested_review_requests_for_team(team):
for doc in last_call_docs:
e = last_call_expiry_events[doc.pk] if doc.pk in last_call_expiry_events else LastCallDocEvent(expires=now, time=now)
deadline = e.expires.date()
deadline = e.expires.astimezone(DEADLINE_TZINFO).date()
if deadline > seen_deadlines.get(doc.pk, datetime.date.max) or deadline < now.date():
continue