Rule names
This commit is contained in:
@ -3,9 +3,6 @@ from django.contrib import admin
|
||||
from personalisation import models
|
||||
|
||||
|
||||
class TimeRuleAdmin(admin.ModelAdmin):
|
||||
list_display = ('name', 'start_time', 'end_time')
|
||||
|
||||
class TimeRuleAdminInline(admin.TabularInline):
|
||||
model = models.TimeRule
|
||||
|
||||
@ -16,9 +13,7 @@ class VisitCountRuleAdminInline(admin.TabularInline):
|
||||
model = models.VisitCountRule
|
||||
|
||||
class SegmentAdmin(admin.ModelAdmin):
|
||||
list_display = ['name']
|
||||
inlines = (TimeRuleAdminInline, ReferralRuleAdminInline, VisitCountRuleAdminInline)
|
||||
|
||||
|
||||
admin.site.register(models.TimeRule, TimeRuleAdmin)
|
||||
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
|
||||
class AbstractBaseRule(models.Model):
|
||||
name = models.CharField(max_length=255)
|
||||
segment = models.ForeignKey(to=Segment, related_name="segment")
|
||||
objects = InheritanceManager()
|
||||
|
||||
def test_user(self, request=None):
|
||||
return True
|
||||
|
||||
def return_segment_id(self):
|
||||
return "".join(self.name.lower().split())
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
return "Segmentation rule"
|
||||
|
||||
|
||||
"""
|
||||
@ -76,6 +72,9 @@ class TimeRule(AbstractBaseRule):
|
||||
"""Mockable function for testing purposes"""
|
||||
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
|
||||
@ -95,6 +94,10 @@ class ReferralRule(AbstractBaseRule):
|
||||
return True
|
||||
return False
|
||||
|
||||
def __str__(self):
|
||||
return '{}'.format(self.regex_string)
|
||||
|
||||
|
||||
"""
|
||||
Visit count rule to segment users based on amount of visits
|
||||
"""
|
||||
@ -125,3 +128,7 @@ class VisitCountRule(AbstractBaseRule):
|
||||
if visit_count is segment_count:
|
||||
return True
|
||||
return False
|
||||
|
||||
def __str__(self):
|
||||
operator_display = self.get_operator_display()
|
||||
return '{} {}'.format(operator_display, self.count)
|
Reference in New Issue
Block a user