Use timezone-aware dates and times in rules (#197)
* use timezone-aware dates and times re #196 * remove redundant newlines * Fix flake8 linting errors in python 3.6
This commit is contained in:
committed by
Jasper Berghoef
parent
1e69d929aa
commit
956c1bf4f5
@ -196,8 +196,10 @@ class SessionSegmentsAdapter(BaseSegmentsAdapter):
|
||||
for segment in enabled_segments:
|
||||
if segment.is_static and segment.static_users.filter(id=self.request.user.id).exists():
|
||||
additional_segments.append(segment)
|
||||
elif (segment.excluded_users.filter(id=self.request.user.id).exists() or
|
||||
segment in excluded_segments):
|
||||
elif any((
|
||||
segment.excluded_users.filter(id=self.request.user.id).exists(),
|
||||
segment in excluded_segments
|
||||
)):
|
||||
continue
|
||||
elif not segment.is_static or not segment.is_full:
|
||||
segment_rules = []
|
||||
|
@ -2,7 +2,6 @@ from __future__ import absolute_import, unicode_literals
|
||||
import logging
|
||||
|
||||
import re
|
||||
from datetime import datetime
|
||||
from importlib import import_module
|
||||
|
||||
import pycountry
|
||||
@ -13,6 +12,7 @@ from django.core.exceptions import ObjectDoesNotExist
|
||||
from django.db import models
|
||||
from django.template.defaultfilters import slugify
|
||||
from django.test.client import RequestFactory
|
||||
from django.utils import timezone
|
||||
from django.utils.encoding import force_text, python_2_unicode_compatible
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from modelcluster.fields import ParentalKey
|
||||
@ -113,7 +113,7 @@ class TimeRule(AbstractBaseRule):
|
||||
verbose_name = _('Time Rule')
|
||||
|
||||
def test_user(self, request=None):
|
||||
return self.start_time <= datetime.now().time() <= self.end_time
|
||||
return self.start_time <= timezone.now().time() <= self.end_time
|
||||
|
||||
def description(self):
|
||||
return {
|
||||
@ -157,7 +157,7 @@ class DayRule(AbstractBaseRule):
|
||||
|
||||
def test_user(self, request=None):
|
||||
return [self.mon, self.tue, self.wed, self.thu,
|
||||
self.fri, self.sat, self.sun][datetime.today().weekday()]
|
||||
self.fri, self.sat, self.sun][timezone.now().date().weekday()]
|
||||
|
||||
def description(self):
|
||||
days = (
|
||||
|
Reference in New Issue
Block a user