diff --git a/src/personalisation/migrations/0017_auto_20161109_1435.py b/src/personalisation/migrations/0017_auto_20161109_1435.py new file mode 100644 index 0000000..175dd80 --- /dev/null +++ b/src/personalisation/migrations/0017_auto_20161109_1435.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.3 on 2016-11-09 13:35 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.utils.timezone + + +class Migration(migrations.Migration): + + dependencies = [ + ('personalisation', '0016_auto_20161109_1255'), + ] + + operations = [ + migrations.AddField( + model_name='segment', + name='create_date', + field=models.DateTimeField(auto_now_add=True, default=django.utils.timezone.now), + preserve_default=False, + ), + migrations.AddField( + model_name='segment', + name='edit_date', + field=models.DateTimeField(auto_now=True), + ), + ] diff --git a/src/personalisation/migrations/0018_segment_visit_count.py b/src/personalisation/migrations/0018_segment_visit_count.py new file mode 100644 index 0000000..c5360e2 --- /dev/null +++ b/src/personalisation/migrations/0018_segment_visit_count.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.3 on 2016-11-09 14:29 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('personalisation', '0017_auto_20161109_1435'), + ] + + operations = [ + migrations.AddField( + model_name='segment', + name='visit_count', + field=models.PositiveIntegerField(default=0), + ), + ] diff --git a/src/personalisation/models.py b/src/personalisation/models.py index 4262878..e0f9e81 100644 --- a/src/personalisation/models.py +++ b/src/personalisation/models.py @@ -6,18 +6,18 @@ from datetime import datetime from django.db import models from django.utils.encoding import python_2_unicode_compatible from django.utils.translation import ugettext_lazy as _ -from modelcluster.fields import ParentalKey from modelcluster.models import ClusterableModel -from wagtail.wagtailadmin.edit_handlers import FieldPanel, InlinePanel -from wagtail.wagtailcore.models import Orderable +from wagtail.wagtailadmin.edit_handlers import FieldPanel from polymorphic.models import PolymorphicModel - @python_2_unicode_compatible class Segment(ClusterableModel): """Model for a new segment""" name = models.CharField(max_length=255) + create_date = models.DateTimeField(auto_now_add=True) + edit_date = models.DateTimeField(auto_now=True) + visit_count = models.PositiveIntegerField(default=0) STATUS_CHOICES = ( ('enabled', 'Enabled'), ('disabled', 'Disabled'), diff --git a/src/personalisation/static/personalisation/segment/calendar_icon.png b/src/personalisation/static/personalisation/segment/calendar_icon.png new file mode 100644 index 0000000..a655cd3 Binary files /dev/null and b/src/personalisation/static/personalisation/segment/calendar_icon.png differ diff --git a/src/personalisation/static/personalisation/segment/index.css b/src/personalisation/static/personalisation/segment/index.css index a0af680..0b1619f 100644 --- a/src/personalisation/static/personalisation/segment/index.css +++ b/src/personalisation/static/personalisation/segment/index.css @@ -64,6 +64,38 @@ } } +.block_container .block .segment_stats { + list-style: none; + padding: 0; + margin: 0; + margin-bottom: 10px; +} + + .block_container .block .segment_stats li { + display: inline-block; + font-size: 24px; + font-weight: bold; + margin-right: 50px; + } + .block_container .block .segment_stats li::last-child{ + margin-right: 0; + } + + .block_container .block .segment_stats li::before { + display: inline-block; + content: ""; + width: 20px; + height: 20px; + margin-right: 5px; + background-size: 20px 20px; + } + .block_container .block .segment_stats .visit_stat::before { + background-image: url("./rocket_icon.png"); + } + .block_container .block .segment_stats .days_stat::before { + background-image: url("./calendar_icon.png"); + } + .block_container .block.suggestion .suggestive_text { display: block; position: absolute; @@ -75,3 +107,7 @@ font-size: 20px; font-weight: 100; } + + .block_container .block.suggestion .suggestive_text:hover { + text-decoration: underline; + } diff --git a/src/personalisation/static/personalisation/segment/rocket_icon.png b/src/personalisation/static/personalisation/segment/rocket_icon.png new file mode 100644 index 0000000..ab1b014 Binary files /dev/null and b/src/personalisation/static/personalisation/segment/rocket_icon.png differ diff --git a/src/personalisation/templates/modeladmin/personalisation/segment/index.html b/src/personalisation/templates/modeladmin/personalisation/segment/index.html index 8ae4993..006a6e2 100644 --- a/src/personalisation/templates/modeladmin/personalisation/segment/index.html +++ b/src/personalisation/templates/modeladmin/personalisation/segment/index.html @@ -1,5 +1,5 @@ {% extends "modeladmin/index.html" %} -{% load i18n staticfiles modeladmin_tags %} +{% load i18n staticfiles modeladmin_tags personalisation_filters %} {% block content_main %}
@@ -23,6 +23,10 @@ {% for segment in object_list %}

{{ segment }}

+ {% if user_can_create %}