Rule names
This commit is contained in:
@ -3,9 +3,6 @@ from django.contrib import admin
|
|||||||
from personalisation import models
|
from personalisation import models
|
||||||
|
|
||||||
|
|
||||||
class TimeRuleAdmin(admin.ModelAdmin):
|
|
||||||
list_display = ('name', 'start_time', 'end_time')
|
|
||||||
|
|
||||||
class TimeRuleAdminInline(admin.TabularInline):
|
class TimeRuleAdminInline(admin.TabularInline):
|
||||||
model = models.TimeRule
|
model = models.TimeRule
|
||||||
|
|
||||||
@ -16,9 +13,7 @@ class VisitCountRuleAdminInline(admin.TabularInline):
|
|||||||
model = models.VisitCountRule
|
model = models.VisitCountRule
|
||||||
|
|
||||||
class SegmentAdmin(admin.ModelAdmin):
|
class SegmentAdmin(admin.ModelAdmin):
|
||||||
list_display = ['name']
|
|
||||||
inlines = (TimeRuleAdminInline, ReferralRuleAdminInline, VisitCountRuleAdminInline)
|
inlines = (TimeRuleAdminInline, ReferralRuleAdminInline, VisitCountRuleAdminInline)
|
||||||
|
|
||||||
|
|
||||||
admin.site.register(models.TimeRule, TimeRuleAdmin)
|
|
||||||
admin.site.register(models.Segment, SegmentAdmin)
|
admin.site.register(models.Segment, SegmentAdmin)
|
||||||
|
@ -0,0 +1,19 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Django 1.10.3 on 2016-11-09 08:29
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('personalisation', '0009_auto_20161108_1731'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='abstractbaserule',
|
||||||
|
name='name',
|
||||||
|
),
|
||||||
|
]
|
@ -40,18 +40,14 @@ Base for creating rules to segment users with
|
|||||||
"""
|
"""
|
||||||
@python_2_unicode_compatible
|
@python_2_unicode_compatible
|
||||||
class AbstractBaseRule(models.Model):
|
class AbstractBaseRule(models.Model):
|
||||||
name = models.CharField(max_length=255)
|
|
||||||
segment = models.ForeignKey(to=Segment, related_name="segment")
|
segment = models.ForeignKey(to=Segment, related_name="segment")
|
||||||
objects = InheritanceManager()
|
objects = InheritanceManager()
|
||||||
|
|
||||||
def test_user(self, request=None):
|
def test_user(self, request=None):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def return_segment_id(self):
|
|
||||||
return "".join(self.name.lower().split())
|
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name
|
return "Segmentation rule"
|
||||||
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
@ -76,6 +72,9 @@ class TimeRule(AbstractBaseRule):
|
|||||||
"""Mockable function for testing purposes"""
|
"""Mockable function for testing purposes"""
|
||||||
return datetime.now().time()
|
return datetime.now().time()
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return '{} - {}'.format(self.start_time, self.end_time)
|
||||||
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Referral rule to segment users based on a regex test
|
Referral rule to segment users based on a regex test
|
||||||
@ -95,6 +94,10 @@ class ReferralRule(AbstractBaseRule):
|
|||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return '{}'.format(self.regex_string)
|
||||||
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Visit count rule to segment users based on amount of visits
|
Visit count rule to segment users based on amount of visits
|
||||||
"""
|
"""
|
||||||
@ -125,3 +128,7 @@ class VisitCountRule(AbstractBaseRule):
|
|||||||
if visit_count is segment_count:
|
if visit_count is segment_count:
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
operator_display = self.get_operator_display()
|
||||||
|
return '{} {}'.format(operator_display, self.count)
|
Reference in New Issue
Block a user