diff --git a/src/wagtail_personalisation/adapters.py b/src/wagtail_personalisation/adapters.py index b9d56da..3ec9c2c 100644 --- a/src/wagtail_personalisation/adapters.py +++ b/src/wagtail_personalisation/adapters.py @@ -164,7 +164,7 @@ class SessionSegmentsAdapter(BaseSegmentsAdapter): still apply to the requesting visitor. """ - enabled_segments = Segment.objects.filter(status='enabled') + enabled_segments = Segment.objects.filter(status=Segment.STATUS_ENABLED) persistent_segments = enabled_segments.filter(persistent=True) session_segments = self.request.session['segments'] rules = AbstractBaseRule.__subclasses__() diff --git a/src/wagtail_personalisation/models.py b/src/wagtail_personalisation/models.py index 34996a2..6b6453b 100644 --- a/src/wagtail_personalisation/models.py +++ b/src/wagtail_personalisation/models.py @@ -20,18 +20,22 @@ from wagtail_personalisation.utils import count_active_days @python_2_unicode_compatible class Segment(ClusterableModel): """The segment model.""" + STATUS_ENABLED = 'enabled' + STATUS_DISABLED = 'disabled' + + STATUS_CHOICES = ( + (STATUS_ENABLED, 'Enabled'), + (STATUS_DISABLED, 'Disabled'), + ) + name = models.CharField(max_length=255) create_date = models.DateTimeField(auto_now_add=True) edit_date = models.DateTimeField(auto_now=True) enable_date = models.DateTimeField(null=True, editable=False) disable_date = models.DateTimeField(null=True, editable=False) visit_count = models.PositiveIntegerField(default=0, editable=False) - STATUS_CHOICES = ( - ('enabled', 'Enabled'), - ('disabled', 'Disabled'), - ) - status = models.CharField(max_length=20, choices=STATUS_CHOICES, - default="enabled") + status = models.CharField( + max_length=20, choices=STATUS_CHOICES, default=STATUS_ENABLED) persistent = models.BooleanField( default=False, help_text=_("Should the segment persist between visits?")) match_any = models.BooleanField( diff --git a/src/wagtail_personalisation/receivers.py b/src/wagtail_personalisation/receivers.py index d9f381f..722f09d 100644 --- a/src/wagtail_personalisation/receivers.py +++ b/src/wagtail_personalisation/receivers.py @@ -12,11 +12,11 @@ def check_status_change(sender, instance, *args, **kwargs): original_status = "" if original_status != instance.status: - if instance.status == "enabled": + if instance.status == instance.STATUS_ENABLED: instance.enable_date = timezone.now() instance.visit_count = 0 return instance - if instance.status == "disabled": + if instance.status == instance.STATUS_DISABLED: instance.disable_date = timezone.now() diff --git a/src/wagtail_personalisation/templates/modeladmin/wagtail_personalisation/segment/dashboard.html b/src/wagtail_personalisation/templates/modeladmin/wagtail_personalisation/segment/dashboard.html index c9d9fc4..257d8fc 100644 --- a/src/wagtail_personalisation/templates/modeladmin/wagtail_personalisation/segment/dashboard.html +++ b/src/wagtail_personalisation/templates/modeladmin/wagtail_personalisation/segment/dashboard.html @@ -72,9 +72,9 @@ {% if user_can_create %}