From 487c2f36500ccdfd2d2c48617330a7a583f069b3 Mon Sep 17 00:00:00 2001 From: Yingtong Li Date: Mon, 22 Jul 2019 09:33:20 +1000 Subject: [PATCH] Fix bulletin timezones --- ssmembership/monboard.py | 4 ++-- ssmembership/views.py | 4 ++-- sspromotions/management/commands/sendbulletin.py | 4 ++-- sspromotions/views.py | 8 ++++---- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/ssmembership/monboard.py b/ssmembership/monboard.py index c5dc9b5..8a5082b 100644 --- a/ssmembership/monboard.py +++ b/ssmembership/monboard.py @@ -56,9 +56,9 @@ def by_email(email): member.member_type = 1 # Ordinary Member # Calculate expiration date - member.expires = timezone.now().date().replace(month=3, day=31) + member.expires = timezone.localtime(timezone.now()).date().replace(month=3, day=31) member.expires = member.expires.replace(year=member.expires.year+1) - if member.expires < timezone.now().date(): # Add 1 year if after Mar 31, else add 2 years + if member.expires < timezone.localtime(timezone.now()).date(): # Add 1 year if after Mar 31, else add 2 years member.expires = member.expires.replace(year=member.expires.year+1) return member diff --git a/ssmembership/views.py b/ssmembership/views.py index 112243f..8a4f0dc 100644 --- a/ssmembership/views.py +++ b/ssmembership/views.py @@ -182,9 +182,9 @@ def signup_save(request): member.member_type = 2 # Associate Member # Calculate expiration date - member.expires = timezone.now().date().replace(month=3, day=20) + member.expires = timezone.localtime(timezone.now()).date().replace(month=3, day=20) member.expires = member.expires.replace(year=member.expires.year+1) - if member.expires < timezone.now().date(): # Add 1 year if after Mar 20, else add 2 years + if member.expires < timezone.localtime(timezone.now()).date(): # Add 1 year if after Mar 20, else add 2 years member.expires = member.expires.replace(year=member.expires.year+1) errors = member.validation_problems() diff --git a/sspromotions/management/commands/sendbulletin.py b/sspromotions/management/commands/sendbulletin.py index dcf2bcf..22607a4 100644 --- a/sspromotions/management/commands/sendbulletin.py +++ b/sspromotions/management/commands/sendbulletin.py @@ -91,9 +91,9 @@ class Command(BaseCommand): client = boto3.client('ses', aws_access_key_id=settings.AWS_KEY_ID, aws_secret_access_key=settings.AWS_SECRET, region_name=settings.AWS_REGION) - title = '{} News: {}'.format(settings.ORG_NAME, timezone.now().strftime('%d %B %Y')) + title = '{} News: {}'.format(settings.ORG_NAME, timezone.localtime(timezone.now()).strftime('%d %B %Y')) - calbegin, calend, bulbegin, bulend = sspromotions.utils.bulletin_dates(timezone.now()) + calbegin, calend, bulbegin, bulend = sspromotions.utils.bulletin_dates(timezone.localtime(timezone.now())) events = list(sspromotions.utils.get_calendar_events(calbegin, calend)) for member in members: diff --git a/sspromotions/views.py b/sspromotions/views.py index 2e9ef21..400ef92 100644 --- a/sspromotions/views.py +++ b/sspromotions/views.py @@ -39,7 +39,7 @@ def bulletin_list(request): items_upcoming = [] items_future = [] - dtbegin = timezone.now().date() + dtbegin = timezone.localtime(timezone.now()).date() dtend = dtbegin + datetime.timedelta(days=7) for item in models.BulletinItem.objects.all(): @@ -70,12 +70,12 @@ def bulletin_preview(request): dt = datetime.datetime.strptime(request.POST['date'], '%Y-%m-%d') else: groups = models.Group.objects.all() - dt = timezone.now() - datetime.timedelta(days=6) + dt = timezone.localtime(timezone.now()) - datetime.timedelta(days=6) calbegin, calend, bulbegin, bulend = utils.bulletin_dates(dt) return render(request, 'sspromotions/email/bulletin.html', utils.bulletin_args(None, groups, utils.get_calendar_events(calbegin, calend), bulbegin, bulend)) else: - date = timezone.now().date() + date = timezone.localtime(timezone.now()).date() date += datetime.timedelta(days=(6 - date.weekday() + 7) % 7) # Next Sunday (6 = Sunday) return render(request, 'sspromotions/bulletin_preview.html', {'date': date, 'groups': models.Group.objects.filter(hidden=False).all()}) @@ -101,7 +101,7 @@ def bulletin_new(request): else: item = models.BulletinItem() item.author = request.user - item.date = timezone.now().date() + item.date = timezone.localtime(timezone.now()).date() item.date += datetime.timedelta(days=(6 - item.date.weekday() + 7) % 7) # Next Sunday (6 = Sunday) return render(request, 'sspromotions/bulletin_edit.html', { 'item': item,