From ad29bb39eb428db5c4fd4b189ac5a9e8a71573f8 Mon Sep 17 00:00:00 2001 From: Tanner Collin Date: Mon, 10 Feb 2020 01:00:41 +0000 Subject: [PATCH] Calculate status based off Alberta timezone --- apiserver/apiserver/api/tests.py | 2 +- apiserver/apiserver/api/utils.py | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/apiserver/apiserver/api/tests.py b/apiserver/apiserver/api/tests.py index ffc5644..03b737e 100644 --- a/apiserver/apiserver/api/tests.py +++ b/apiserver/apiserver/api/tests.py @@ -159,7 +159,7 @@ class TestCalcStatus(TestCase): self.assertEqual(former, False) def test_calc_member_status_today(self): - expire_date = datetime.date.today() + expire_date = utils.today_alberta_tz() status, former = utils.calc_member_status(expire_date) diff --git a/apiserver/apiserver/api/utils.py b/apiserver/apiserver/api/utils.py index be1e81b..c97de64 100644 --- a/apiserver/apiserver/api/utils.py +++ b/apiserver/apiserver/api/utils.py @@ -1,6 +1,6 @@ -import datetime import io import requests +from datetime import datetime, timedelta from rest_framework.exceptions import ValidationError from dateutil import relativedelta from uuid import uuid4 @@ -12,6 +12,7 @@ from reportlab.lib.pagesizes import letter from django.db.models import Sum from django.core.cache import cache +from django.utils.timezone import now, pytz from . import models, serializers, utils_ldap try: @@ -23,6 +24,9 @@ except ImportError: STATIC_FOLDER = 'data/static/' +def today_alberta_tz(): + return datetime.now(pytz.timezone('America/Edmonton')).date() + def num_months_spanned(d1, d2): ''' Return number of month thresholds two dates span. @@ -44,7 +48,8 @@ def calc_member_status(expire_date, fake_date=None): ''' Return: status, if we should pause them ''' - today = fake_date or datetime.date.today() + today = fake_date or today_alberta_tz() + difference = num_months_difference(expire_date, today) #if today + datetime.timedelta(days=29) < expire_date: