Updated requirements and module paths
This commit is contained in:
@ -74,7 +74,7 @@
|
|||||||
"body": "[]"
|
"body": "[]"
|
||||||
}
|
}
|
||||||
}, {
|
}, {
|
||||||
"model": "wagtailcore.page",
|
"model": "wagtail.core.page",
|
||||||
"pk": 1,
|
"pk": 1,
|
||||||
"fields": {
|
"fields": {
|
||||||
"path": "0001",
|
"path": "0001",
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Django>=1.11,<1.12
|
Django>=2.0,<2.1
|
||||||
wagtail>=1.10,<1.11
|
wagtail>=2.0,<2.1
|
||||||
django-debug-toolbar==1.8
|
django-debug-toolbar==1.9.1
|
||||||
-e .[docs,test]
|
-e .[docs,test]
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
from django.db import migrations
|
from django.db import migrations
|
||||||
import wagtail.wagtailcore.fields
|
import wagtail.core.fields
|
||||||
import wagtail_personalisation
|
import wagtail_personalisation
|
||||||
|
|
||||||
|
|
||||||
@ -17,14 +17,14 @@ class Migration(migrations.Migration):
|
|||||||
migrations.AddField(
|
migrations.AddField(
|
||||||
model_name='homepage',
|
model_name='homepage',
|
||||||
name='intro',
|
name='intro',
|
||||||
field=wagtail.wagtailcore.fields.RichTextField(
|
field=wagtail.core.fields.RichTextField(
|
||||||
default='<p>Thank you for trying <a href="http://wagxperience.io" target="_blank">Wagxperience</a>!</p>'),
|
default='<p>Thank you for trying <a href="http://wagxperience.io" target="_blank">Wagxperience</a>!</p>'),
|
||||||
preserve_default=False,
|
preserve_default=False,
|
||||||
),
|
),
|
||||||
migrations.AddField(
|
migrations.AddField(
|
||||||
model_name='homepage',
|
model_name='homepage',
|
||||||
name='body',
|
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=''),
|
field=wagtail.core.fields.StreamField((('personalisable_paragraph', wagtail.core.blocks.StructBlock((('segment', wagtail.core.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.core.blocks.RichTextBlock())), icon='pilcrow')),), default=''),
|
||||||
preserve_default=False,
|
preserve_default=False,
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
from __future__ import absolute_import, unicode_literals
|
from __future__ import absolute_import, unicode_literals
|
||||||
|
|
||||||
from wagtail.wagtailadmin.edit_handlers import RichTextFieldPanel, StreamFieldPanel
|
from wagtail.admin.edit_handlers import RichTextFieldPanel, StreamFieldPanel
|
||||||
from wagtail.wagtailcore import blocks
|
from wagtail.core import blocks
|
||||||
from wagtail.wagtailcore.fields import RichTextField, StreamField
|
from wagtail.core.fields import RichTextField, StreamField
|
||||||
from wagtail.wagtailcore.models import Page
|
from wagtail.core.models import Page
|
||||||
|
|
||||||
from wagtail_personalisation.models import PersonalisablePageMixin
|
from wagtail_personalisation.models import PersonalisablePageMixin
|
||||||
from wagtail_personalisation.blocks import PersonalisedStructBlock
|
from wagtail_personalisation.blocks import PersonalisedStructBlock
|
||||||
|
@ -3,8 +3,8 @@ from __future__ import absolute_import, unicode_literals
|
|||||||
from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator
|
from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
|
|
||||||
from wagtail.wagtailcore.models import Page
|
from wagtail.core.models import Page
|
||||||
from wagtail.wagtailsearch.models import Query
|
from wagtail.search.models import Query
|
||||||
|
|
||||||
|
|
||||||
def search(request):
|
def search(request):
|
||||||
|
@ -33,17 +33,25 @@ EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
|
|||||||
# Application definition
|
# Application definition
|
||||||
|
|
||||||
INSTALLED_APPS = [
|
INSTALLED_APPS = [
|
||||||
'wagtail.wagtailforms',
|
'django.contrib.admin',
|
||||||
'wagtail.wagtailredirects',
|
'django.contrib.auth',
|
||||||
'wagtail.wagtailembeds',
|
'django.contrib.contenttypes',
|
||||||
'wagtail.wagtailsites',
|
'django.contrib.messages',
|
||||||
'wagtail.wagtailusers',
|
'django.contrib.sessions',
|
||||||
'wagtail.wagtailsnippets',
|
'django.contrib.sites',
|
||||||
'wagtail.wagtaildocs',
|
'django.contrib.staticfiles',
|
||||||
'wagtail.wagtailimages',
|
|
||||||
'wagtail.wagtailsearch',
|
'wagtail.contrib.forms',
|
||||||
'wagtail.wagtailadmin',
|
'wagtail.contrib.redirects',
|
||||||
'wagtail.wagtailcore',
|
'wagtail.embeds',
|
||||||
|
'wagtail.sites',
|
||||||
|
'wagtail.users',
|
||||||
|
'wagtail.snippets',
|
||||||
|
'wagtail.documents',
|
||||||
|
'wagtail.images',
|
||||||
|
'wagtail.search',
|
||||||
|
'wagtail.admin',
|
||||||
|
'wagtail.core',
|
||||||
'wagtail.contrib.modeladmin',
|
'wagtail.contrib.modeladmin',
|
||||||
|
|
||||||
'wagtailfontawesome',
|
'wagtailfontawesome',
|
||||||
@ -51,13 +59,6 @@ INSTALLED_APPS = [
|
|||||||
'taggit',
|
'taggit',
|
||||||
'debug_toolbar',
|
'debug_toolbar',
|
||||||
|
|
||||||
'django.contrib.admin',
|
|
||||||
'django.contrib.auth',
|
|
||||||
'django.contrib.contenttypes',
|
|
||||||
'django.contrib.sessions',
|
|
||||||
'django.contrib.messages',
|
|
||||||
'django.contrib.staticfiles',
|
|
||||||
|
|
||||||
'wagtail_personalisation',
|
'wagtail_personalisation',
|
||||||
|
|
||||||
'sandbox.apps.home',
|
'sandbox.apps.home',
|
||||||
@ -68,17 +69,17 @@ INSTALLED_APPS = [
|
|||||||
|
|
||||||
MIDDLEWARE = [
|
MIDDLEWARE = [
|
||||||
'debug_toolbar.middleware.DebugToolbarMiddleware',
|
'debug_toolbar.middleware.DebugToolbarMiddleware',
|
||||||
|
'django.middleware.security.SecurityMiddleware',
|
||||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||||
|
'django.middleware.http.ConditionalGetMiddleware',
|
||||||
'django.middleware.common.CommonMiddleware',
|
'django.middleware.common.CommonMiddleware',
|
||||||
'django.middleware.csrf.CsrfViewMiddleware',
|
'django.middleware.csrf.CsrfViewMiddleware',
|
||||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||||
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
|
|
||||||
'django.contrib.messages.middleware.MessageMiddleware',
|
'django.contrib.messages.middleware.MessageMiddleware',
|
||||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||||
'django.middleware.security.SecurityMiddleware',
|
|
||||||
|
|
||||||
'wagtail.wagtailcore.middleware.SiteMiddleware',
|
'wagtail.core.middleware.SiteMiddleware',
|
||||||
'wagtail.wagtailredirects.middleware.RedirectMiddleware',
|
'wagtail.contrib.redirects.middleware.RedirectMiddleware',
|
||||||
]
|
]
|
||||||
|
|
||||||
ROOT_URLCONF = 'sandbox.urls'
|
ROOT_URLCONF = 'sandbox.urls'
|
||||||
|
@ -4,14 +4,14 @@ import debug_toolbar
|
|||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.conf.urls import include, url
|
from django.conf.urls import include, url
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from wagtail.wagtailadmin import urls as wagtailadmin_urls
|
from wagtail.admin import urls as wagtailadmin_urls
|
||||||
from wagtail.wagtailcore import urls as wagtail_urls
|
from wagtail.core import urls as wagtail_urls
|
||||||
from wagtail.wagtaildocs import urls as wagtaildocs_urls
|
from wagtail.documents import urls as wagtaildocs_urls
|
||||||
|
|
||||||
from sandbox.apps.search import views as search_views
|
from sandbox.apps.search import views as search_views
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
url(r'^admin/', include(admin.site.urls)),
|
url(r'^admin/', admin.site.urls),
|
||||||
|
|
||||||
url(r'^cms/', include(wagtailadmin_urls)),
|
url(r'^cms/', include(wagtailadmin_urls)),
|
||||||
url(r'^documents/', include(wagtaildocs_urls)),
|
url(r'^documents/', include(wagtaildocs_urls)),
|
||||||
|
10
setup.py
10
setup.py
@ -3,9 +3,9 @@ from setuptools import find_packages, setup
|
|||||||
|
|
||||||
|
|
||||||
install_requires = [
|
install_requires = [
|
||||||
'wagtail>=1.9,<1.11',
|
'wagtail>=2.0,<2.1',
|
||||||
'user-agents>=1.0.1',
|
'user-agents>=1.0.1',
|
||||||
'wagtailfontawesome>=1.0.6',
|
'wagtailfontawesome>=1.1.3',
|
||||||
]
|
]
|
||||||
|
|
||||||
tests_require = [
|
tests_require = [
|
||||||
@ -15,11 +15,11 @@ tests_require = [
|
|||||||
'flake8-imports',
|
'flake8-imports',
|
||||||
'flake8',
|
'flake8',
|
||||||
'freezegun==0.3.8',
|
'freezegun==0.3.8',
|
||||||
'pytest-cov==2.4.0',
|
'pytest-cov==2.5.1',
|
||||||
'pytest-django==3.1.2',
|
'pytest-django==3.1.2',
|
||||||
'pytest-pythonpath==0.7.2',
|
'pytest-pythonpath==0.7.2',
|
||||||
'pytest-sugar==0.7.1',
|
'pytest-sugar==0.9.1',
|
||||||
'pytest==3.1.0',
|
'pytest==3.4.2',
|
||||||
'wagtail_factories==0.3.0',
|
'wagtail_factories==0.3.0',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
from __future__ import absolute_import, unicode_literals
|
from __future__ import absolute_import, unicode_literals
|
||||||
|
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from wagtail.wagtailcore import blocks
|
from wagtail.core import blocks
|
||||||
|
|
||||||
from wagtail_personalisation.adapters import get_segment_adapter
|
from wagtail_personalisation.adapters import get_segment_adapter
|
||||||
from wagtail_personalisation.models import Segment
|
from wagtail_personalisation.models import Segment
|
||||||
|
@ -6,9 +6,9 @@ from django.utils.encoding import python_2_unicode_compatible
|
|||||||
from django.utils.functional import cached_property
|
from django.utils.functional import cached_property
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from modelcluster.models import ClusterableModel
|
from modelcluster.models import ClusterableModel
|
||||||
from wagtail.wagtailadmin.edit_handlers import (
|
from wagtail.admin.edit_handlers import (
|
||||||
FieldPanel, FieldRowPanel, InlinePanel, MultiFieldPanel)
|
FieldPanel, FieldRowPanel, InlinePanel, MultiFieldPanel)
|
||||||
from wagtail.wagtailcore.models import Page
|
from wagtail.core.models import Page
|
||||||
|
|
||||||
from wagtail_personalisation.rules import AbstractBaseRule
|
from wagtail_personalisation.rules import AbstractBaseRule
|
||||||
from wagtail_personalisation.utils import count_active_days
|
from wagtail_personalisation.utils import count_active_days
|
||||||
@ -119,10 +119,13 @@ class PersonalisablePageMetadata(ClusterableModel):
|
|||||||
)
|
)
|
||||||
|
|
||||||
variant = models.OneToOneField(
|
variant = models.OneToOneField(
|
||||||
Page, related_name='_personalisable_page_metadata')
|
Page, related_name='_personalisable_page_metadata',
|
||||||
|
on_delete=models.CASCADE)
|
||||||
|
|
||||||
segment = models.ForeignKey(
|
segment = models.ForeignKey(
|
||||||
Segment, related_name='page_metadata', null=True, blank=True)
|
Segment, related_name='page_metadata',
|
||||||
|
on_delete=models.SET_NULL,
|
||||||
|
null=True, blank=True)
|
||||||
|
|
||||||
@cached_property
|
@cached_property
|
||||||
def has_variants(self):
|
def has_variants(self):
|
||||||
|
@ -10,7 +10,7 @@ from django.utils.encoding import force_text, python_2_unicode_compatible
|
|||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from modelcluster.fields import ParentalKey
|
from modelcluster.fields import ParentalKey
|
||||||
from user_agents import parse
|
from user_agents import parse
|
||||||
from wagtail.wagtailadmin.edit_handlers import (
|
from wagtail.admin.edit_handlers import (
|
||||||
FieldPanel, FieldRowPanel, PageChooserPanel)
|
FieldPanel, FieldRowPanel, PageChooserPanel)
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
from __future__ import absolute_import, unicode_literals
|
from __future__ import absolute_import, unicode_literals
|
||||||
|
|
||||||
from django import forms
|
from django import forms
|
||||||
from django.core.urlresolvers import reverse
|
from django.urls import reverse
|
||||||
from django.http import HttpResponseForbidden, HttpResponseRedirect
|
from django.http import HttpResponseForbidden, HttpResponseRedirect
|
||||||
from django.shortcuts import get_object_or_404
|
from django.shortcuts import get_object_or_404
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from wagtail.contrib.modeladmin.options import ModelAdmin, modeladmin_register
|
from wagtail.contrib.modeladmin.options import ModelAdmin, modeladmin_register
|
||||||
from wagtail.contrib.modeladmin.views import IndexView
|
from wagtail.contrib.modeladmin.views import IndexView
|
||||||
from wagtail.wagtailcore.models import Page
|
from wagtail.core.models import Page
|
||||||
|
|
||||||
from wagtail_personalisation.models import Segment
|
from wagtail_personalisation.models import Segment
|
||||||
|
|
||||||
|
@ -3,14 +3,14 @@ from __future__ import absolute_import, unicode_literals
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
from django.conf.urls import include, url
|
from django.conf.urls import include, url
|
||||||
from django.core.urlresolvers import reverse
|
from django.urls import reverse
|
||||||
from django.template.defaultfilters import pluralize
|
from django.template.defaultfilters import pluralize
|
||||||
from django.utils.safestring import mark_safe
|
from django.utils.safestring import mark_safe
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from wagtail.wagtailadmin.site_summary import SummaryItem, PagesSummaryItem
|
from wagtail.admin.site_summary import SummaryItem, PagesSummaryItem
|
||||||
from wagtail.wagtailadmin.widgets import Button, ButtonWithDropdownFromHook
|
from wagtail.admin.widgets import Button, ButtonWithDropdownFromHook
|
||||||
from wagtail.wagtailcore import hooks
|
from wagtail.core import hooks
|
||||||
from wagtail.wagtailcore.models import Page
|
from wagtail.core.models import Page
|
||||||
|
|
||||||
from wagtail_personalisation import admin_urls, models, utils
|
from wagtail_personalisation import admin_urls, models, utils
|
||||||
from wagtail_personalisation.adapters import get_segment_adapter
|
from wagtail_personalisation.adapters import get_segment_adapter
|
||||||
@ -23,9 +23,7 @@ def register_admin_urls():
|
|||||||
"""Adds the administration urls for the personalisation apps."""
|
"""Adds the administration urls for the personalisation apps."""
|
||||||
return [
|
return [
|
||||||
url(r'^personalisation/', include(
|
url(r'^personalisation/', include(
|
||||||
admin_urls,
|
admin_urls, namespace='wagtail_personalisation')),
|
||||||
app_name='wagtail_personalisation',
|
|
||||||
namespace='wagtail_personalisation')),
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
@ -35,7 +33,7 @@ def set_visit_count(page, request, serve_args, serve_kwargs):
|
|||||||
to a segment.
|
to a segment.
|
||||||
|
|
||||||
:param page: The page being served
|
:param page: The page being served
|
||||||
:type page: wagtail.wagtailcore.models.Page
|
:type page: wagtail.core.models.Page
|
||||||
:param request: The http request
|
:param request: The http request
|
||||||
:type request: django.http.HttpRequest
|
:type request: django.http.HttpRequest
|
||||||
|
|
||||||
@ -49,7 +47,7 @@ def segment_user(page, request, serve_args, serve_kwargs):
|
|||||||
"""Apply a segment to a visitor before serving the page.
|
"""Apply a segment to a visitor before serving the page.
|
||||||
|
|
||||||
:param page: The page being served
|
:param page: The page being served
|
||||||
:type page: wagtail.wagtailcore.models.Page
|
:type page: wagtail.core.models.Page
|
||||||
:param request: The http request
|
:param request: The http request
|
||||||
:type request: django.http.HttpRequest
|
:type request: django.http.HttpRequest
|
||||||
|
|
||||||
@ -63,12 +61,12 @@ def serve_variant(page, request, serve_args, serve_kwargs):
|
|||||||
"""Apply a segment to a visitor before serving the page.
|
"""Apply a segment to a visitor before serving the page.
|
||||||
|
|
||||||
:param page: The page being served
|
:param page: The page being served
|
||||||
:type page: wagtail.wagtailcore.models.Page
|
:type page: wagtail.core.models.Page
|
||||||
:param request: The http request
|
:param request: The http request
|
||||||
:type request: django.http.HttpRequest
|
:type request: django.http.HttpRequest
|
||||||
:returns: A variant if one is available for the visitor's segment,
|
:returns: A variant if one is available for the visitor's segment,
|
||||||
otherwise the original page
|
otherwise the original page
|
||||||
:rtype: wagtail.wagtailcore.models.Page
|
:rtype: wagtail.core.models.Page
|
||||||
|
|
||||||
"""
|
"""
|
||||||
user_segments = []
|
user_segments = []
|
||||||
|
Reference in New Issue
Block a user