diff --git a/src/personalisation/admin.py b/src/personalisation/admin.py index 63e71f7..bf9d975 100644 --- a/src/personalisation/admin.py +++ b/src/personalisation/admin.py @@ -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) diff --git a/src/personalisation/migrations/0010_remove_abstractbaserule_name.py b/src/personalisation/migrations/0010_remove_abstractbaserule_name.py new file mode 100644 index 0000000..f081741 --- /dev/null +++ b/src/personalisation/migrations/0010_remove_abstractbaserule_name.py @@ -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', + ), + ] diff --git a/src/personalisation/models.py b/src/personalisation/models.py index 522198f..127d2fb 100644 --- a/src/personalisation/models.py +++ b/src/personalisation/models.py @@ -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 """ @@ -124,4 +127,8 @@ class VisitCountRule(AbstractBaseRule): elif operator is "equal_to": if visit_count is segment_count: return True - return False \ No newline at end of file + return False + + def __str__(self): + operator_display = self.get_operator_display() + return '{} {}'.format(operator_display, self.count) \ No newline at end of file