7

adds automatic rule subclass checks in the middleware

This commit is contained in:
Boris Besemer
2016-11-07 17:11:15 +01:00
parent 59aec0871e
commit 35a8bd5c8e
6 changed files with 15 additions and 18 deletions

View File

@ -1,4 +1,4 @@
from personalisation.models import Segment, TimeRule
from personalisation.models import Segment, AbstractBaseRule, TimeRule
class SegmentMiddleware(object):
"""Middleware for testing and putting a user in a segment"""
@ -13,7 +13,7 @@ class SegmentMiddleware(object):
for segment in segments:
result = False
rules = TimeRule.objects.all().filter(segment=segment)
rules = AbstractBaseRule.objects.filter(segment=segment).select_subclasses()
for rule in rules:
result = rule.test_user()
if result: