Skip to content

Commit

Permalink
Adds stream fields to the sandbox
Browse files Browse the repository at this point in the history
  • Loading branch information
jberghoef authored and mvantellingen committed Jun 2, 2017
1 parent 0776d23 commit 46d86d8
Show file tree
Hide file tree
Showing 4 changed files with 173 additions and 139 deletions.
279 changes: 147 additions & 132 deletions sandbox/exampledata/personalisation.json
Original file line number Diff line number Diff line change
@@ -1,133 +1,148 @@
[
{
"model": "wagtail_personalisation.timerule",
"pk": 1,
"fields": {
"segment": 2,
"start_time": "06:00:00",
"end_time": "10:00:00"
}
},
{
"model": "wagtail_personalisation.visitcountrule",
"pk": 1,
"fields": {
"segment": 1,
"operator": "more_than",
"count": 3,
"counted_page": 3
}
},
{
"model": "wagtail_personalisation.segment",
"pk": 1,
"fields": {
"name": "Returning Rook",
"create_date": "2017-06-02T05:38:02.304Z",
"edit_date": "2017-06-02T05:38:02.304Z",
"enable_date": "2017-06-02T05:38:02.290Z",
"disable_date": null,
"visit_count": 0,
"status": "enabled",
"persistent": false,
"match_any": false
}
},
{
"model": "wagtail_personalisation.segment",
"pk": 2,
"fields": {
"name": "Early Birds",
"create_date": "2017-06-02T05:38:14.749Z",
"edit_date": "2017-06-02T05:38:14.750Z",
"enable_date": "2017-06-02T05:38:14.736Z",
"disable_date": null,
"visit_count": 0,
"status": "enabled",
"persistent": false,
"match_any": false
}
},
{
"model": "wagtail_personalisation.personalisablepagemetadata",
"pk": 1,
"fields": {
"canonical_page": 3,
"variant": 3,
"segment": null
}
},
{
"model": "wagtail_personalisation.personalisablepagemetadata",
"pk": 2,
"fields": {
"canonical_page": 3,
"variant": 4,
"segment": 1
}
},
{
"model": "home.homepage",
"pk": 3,
"fields": {
"text_content": "<p>Thank you for trying <a href=\"http://wagxperience.io\" target=\"_blank\">Wagxperience</a>!</p>"
}
},
{
"model": "home.homepage",
"pk": 4,
"fields": {
"text_content": "<p>Thank you for trying <a href=\"http://wagxperience.io\">Wagxperience</a>!</p><p>You've visited the homepage more than 3 times!</p>"
}
},
{
"model": "wagtailcore.page",
"pk": 3,
"fields": {
"path": "00010001",
"depth": 2,
"numchild": 0,
"title": "Home",
"slug": "home",
"content_type": 2,
"live": true,
"has_unpublished_changes": false,
"url_path": "/home/",
"owner": null,
"seo_title": "",
"show_in_menus": false,
"search_description": "",
"go_live_at": null,
"expire_at": null,
"expired": false,
"locked": false,
"first_published_at": null,
"latest_revision_created_at": null
}
},
{
"model": "wagtailcore.page",
"pk": 4,
"fields": {
"path": "00010002",
"depth": 2,
"numchild": 0,
"title": "Home (Returning Rook)",
"slug": "home-returning-rook",
"content_type": 2,
"live": true,
"has_unpublished_changes": false,
"url_path": "/home-returning-rook/",
"owner": null,
"seo_title": "",
"show_in_menus": false,
"search_description": "",
"go_live_at": null,
"expire_at": null,
"expired": false,
"locked": false,
"first_published_at": "2017-06-02T05:38:53.568Z",
"latest_revision_created_at": "2017-06-02T05:38:53.390Z"
}
[{
"model": "wagtail_personalisation.timerule",
"pk": 1,
"fields": {
"segment": 2,
"start_time": "06:00:00",
"end_time": "11:00:00"
}
]
}, {
"model": "wagtail_personalisation.visitcountrule",
"pk": 1,
"fields": {
"segment": 1,
"operator": "more_than",
"count": 3,
"counted_page": 3
}
}, {
"model": "wagtail_personalisation.segment",
"pk": 1,
"fields": {
"name": "Returning Rook",
"create_date": "2017-06-02T05:38:02.304Z",
"edit_date": "2017-06-02T10:58:39.399Z",
"enable_date": "2017-06-02T10:58:39.389Z",
"disable_date": "2017-06-02T10:34:51.722Z",
"visit_count": 0,
"status": "enabled",
"persistent": false,
"match_any": false
}
}, {
"model": "wagtail_personalisation.segment",
"pk": 2,
"fields": {
"name": "Early Birds",
"create_date": "2017-06-02T05:38:14.749Z",
"edit_date": "2017-06-02T10:57:44.504Z",
"enable_date": "2017-06-02T10:57:44.497Z",
"disable_date": "2017-06-02T10:57:39.984Z",
"visit_count": 1,
"status": "enabled",
"persistent": false,
"match_any": false
}
}, {
"model": "wagtail_personalisation.personalisablepagemetadata",
"pk": 1,
"fields": {
"canonical_page": 3,
"variant": 3,
"segment": null
}
}, {
"model": "wagtail_personalisation.personalisablepagemetadata",
"pk": 2,
"fields": {
"canonical_page": 3,
"variant": 4,
"segment": 1
}
}, {
"model": "home.homepage",
"pk": 3,
"fields": {
"intro": "<p>Thank you for trying <a href=\"http://wagxperience.io\">Wagxperience</a>!</p>",
"body": "[{\"type\": \"personalisable_paragraph\", \"value\": {\"segment\": \"2\", \"paragraph\": \"<p>You are an early bird!</p>\"}}]"
}
}, {
"model": "home.homepage",
"pk": 4,
"fields": {
"intro": "<p>Thank you for trying <a href=\"http://wagxperience.io\">Wagxperience</a>!</p><p>You've visited the homepage more than 3 times!</p>",
"body": "[]"
}
}, {
"model": "wagtailcore.page",
"pk": 1,
"fields": {
"path": "0001",
"depth": 1,
"numchild": 1,
"title": "Root",
"slug": "root",
"content_type": 1,
"live": true,
"has_unpublished_changes": false,
"url_path": "/",
"owner": null,
"seo_title": "",
"show_in_menus": false,
"search_description": "",
"go_live_at": null,
"expire_at": null,
"expired": false,
"locked": false,
"first_published_at": null,
"latest_revision_created_at": null
}
}, {
"model": "wagtailcore.page",
"pk": 3,
"fields": {
"path": "00010001",
"depth": 2,
"numchild": 0,
"title": "Home",
"slug": "home",
"content_type": 2,
"live": true,
"has_unpublished_changes": false,
"url_path": "/home/",
"owner": null,
"seo_title": "",
"show_in_menus": false,
"search_description": "",
"go_live_at": null,
"expire_at": null,
"expired": false,
"locked": false,
"first_published_at": "2017-06-02T10:35:34.706Z",
"latest_revision_created_at": "2017-06-02T10:35:34.565Z"
}
}, {
"model": "wagtailcore.page",
"pk": 4,
"fields": {
"path": "00010002",
"depth": 2,
"numchild": 0,
"title": "Home (Returning Rook)",
"slug": "home-returning-rook",
"content_type": 2,
"live": true,
"has_unpublished_changes": false,
"url_path": "/home-returning-rook/",
"owner": null,
"seo_title": "",
"show_in_menus": false,
"search_description": "",
"go_live_at": null,
"expire_at": null,
"expired": false,
"locked": false,
"first_published_at": "2017-06-02T05:38:53.568Z",
"latest_revision_created_at": "2017-06-02T05:38:53.390Z"
}
}]
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

from django.db import migrations
import wagtail.wagtailcore.fields
import wagtail_personalisation


class Migration(migrations.Migration):
Expand All @@ -15,9 +16,15 @@ class Migration(migrations.Migration):
operations = [
migrations.AddField(
model_name='homepage',
name='text_content',
name='intro',
field=wagtail.wagtailcore.fields.RichTextField(
default='<p>Thank you for trying <a href="http://wagxperience.io" target="_blank">Wagxperience</a>!</p>'),
preserve_default=False,
),
migrations.AddField(
model_name='homepage',
name='body',
field=wagtail.wagtailcore.fields.StreamField((('personalisable_paragraph', wagtail.wagtailcore.blocks.StructBlock((('segment', wagtail.wagtailcore.blocks.ChoiceBlock(choices=wagtail_personalisation.blocks.list_segment_choices, help_text='Only show this content block for users in this segment', label='Personalisation segment', required=False)), ('paragraph', wagtail.wagtailcore.blocks.RichTextBlock())), icon='pilcrow')),), default=''),
preserve_default=False,
),
]
16 changes: 12 additions & 4 deletions sandbox/sandbox/apps/home/models.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,23 @@
from __future__ import absolute_import, unicode_literals

from wagtail.wagtailadmin.edit_handlers import RichTextFieldPanel, StreamFieldPanel
from wagtail.wagtailcore import blocks
from wagtail.wagtailcore.fields import RichTextField, StreamField
from wagtail.wagtailcore.models import Page
from wagtail.wagtailadmin.edit_handlers import RichTextFieldPanel
from wagtail.wagtailcore.fields import RichTextField

from wagtail_personalisation.models import PersonalisablePageMixin
from wagtail_personalisation.blocks import PersonalisedStructBlock


class HomePage(PersonalisablePageMixin, Page):
text_content = RichTextField()
intro = RichTextField()
body = StreamField([
('personalisable_paragraph', PersonalisedStructBlock([
('paragraph', blocks.RichTextBlock()),
], icon='pilcrow'))
])

content_panels = Page.content_panels + [
RichTextFieldPanel('text_content')
RichTextFieldPanel('intro'),
StreamFieldPanel('body'),
]
8 changes: 6 additions & 2 deletions sandbox/sandbox/apps/home/templates/home/home_page.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,12 @@
{% block content %}
<h1>Wagtail Personalisation</h1>
<hr>

<h2>{{ self.title }}</h2>

{{ self.text_content|richtext }}
{{ self.intro|richtext }}

{% for block in page.body %}
<div>{% include_block block %}</div>
{% endfor %}

{% endblock %}

0 comments on commit 46d86d8

Please sign in to comment.