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:
|
for segment in enabled_segments:
|
||||||
if segment.is_static and segment.static_users.filter(id=self.request.user.id).exists():
|
if segment.is_static and segment.static_users.filter(id=self.request.user.id).exists():
|
||||||
additional_segments.append(segment)
|
additional_segments.append(segment)
|
||||||
elif (segment.excluded_users.filter(id=self.request.user.id).exists() or
|
elif any((
|
||||||
segment in excluded_segments):
|
segment.excluded_users.filter(id=self.request.user.id).exists(),
|
||||||
|
segment in excluded_segments
|
||||||
|
)):
|
||||||
continue
|
continue
|
||||||
elif not segment.is_static or not segment.is_full:
|
elif not segment.is_static or not segment.is_full:
|
||||||
segment_rules = []
|
segment_rules = []
|
||||||
|
@ -2,7 +2,6 @@ from __future__ import absolute_import, unicode_literals
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
import re
|
import re
|
||||||
from datetime import datetime
|
|
||||||
from importlib import import_module
|
from importlib import import_module
|
||||||
|
|
||||||
import pycountry
|
import pycountry
|
||||||
@ -13,6 +12,7 @@ from django.core.exceptions import ObjectDoesNotExist
|
|||||||
from django.db import models
|
from django.db import models
|
||||||
from django.template.defaultfilters import slugify
|
from django.template.defaultfilters import slugify
|
||||||
from django.test.client import RequestFactory
|
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.encoding import force_text, python_2_unicode_compatible
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from modelcluster.fields import ParentalKey
|
from modelcluster.fields import ParentalKey
|
||||||
@ -113,7 +113,7 @@ class TimeRule(AbstractBaseRule):
|
|||||||
verbose_name = _('Time Rule')
|
verbose_name = _('Time Rule')
|
||||||
|
|
||||||
def test_user(self, request=None):
|
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):
|
def description(self):
|
||||||
return {
|
return {
|
||||||
@ -157,7 +157,7 @@ class DayRule(AbstractBaseRule):
|
|||||||
|
|
||||||
def test_user(self, request=None):
|
def test_user(self, request=None):
|
||||||
return [self.mon, self.tue, self.wed, self.thu,
|
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):
|
def description(self):
|
||||||
days = (
|
days = (
|
||||||
|
Reference in New Issue
Block a user