8

remove customer manager again for now

This commit is contained in:
Paul J Stevens
2018-05-26 14:35:47 +02:00
parent c8fe62d2b1
commit 12f110d913
5 changed files with 14 additions and 18 deletions

View File

@@ -1,12 +1,9 @@
from __future__ import absolute_import, unicode_literals
import random import random
from django import forms from django import forms
from django.conf import settings from django.conf import settings
from django.core.validators import MaxValueValidator, MinValueValidator from django.core.validators import MaxValueValidator, MinValueValidator
from django.db import models, transaction from django.db import models, transaction
from django.db.models import F
from django.template.defaultfilters import slugify from django.template.defaultfilters import slugify
from django.utils.encoding import python_2_unicode_compatible from django.utils.encoding import python_2_unicode_compatible
from django.utils.functional import cached_property from django.utils.functional import cached_property
@@ -201,16 +198,6 @@ class Segment(ClusterableModel):
return False return False
class PersonalisablePageManager(models.Manager):
def canonicals(self):
return (
self.filter(
personalisable_canonical_metadata__canonical_page_id=F(
'personalisable_canonical_metadata__variant__id'))
)
class PersonalisablePageMetadata(ClusterableModel): class PersonalisablePageMetadata(ClusterableModel):
"""The personalisable page model. Allows creation of variants with linked """The personalisable page model. Allows creation of variants with linked
segments. segments.
@@ -231,8 +218,6 @@ class PersonalisablePageMetadata(ClusterableModel):
on_delete=models.SET_NULL, on_delete=models.SET_NULL,
null=True, blank=True) null=True, blank=True)
objects = PersonalisablePageManager()
@cached_property @cached_property
def has_variants(self): def has_variants(self):
"""Return a boolean indicating whether or not the personalisable page """Return a boolean indicating whether or not the personalisable page

View File

@@ -1,5 +1,6 @@
import time import time
from django.db.models import F
from django.template.base import FilterExpression, kwarg_re from django.template.base import FilterExpression, kwarg_re
from django.utils import timezone from django.utils import timezone
@@ -103,4 +104,6 @@ def exclude_variants(pages):
:return: Queryset of pages that aren't variants :return: Queryset of pages that aren't variants
:rtype: QuerySet :rtype: QuerySet
""" """
return pages.canonicals() return pages.filter(
personalisable_canonical_metadata__canonical_page_id=F(
'personalisable_canonical_metadata__variant__id'))

View File

@@ -8,6 +8,7 @@ from tests.site.pages import models
class ContentPageFactory(PageFactory): class ContentPageFactory(PageFactory):
parent = None
title = 'Test page' title = 'Test page'
slug = factory.LazyAttribute(lambda obj: slugify(obj.title)) slug = factory.LazyAttribute(lambda obj: slugify(obj.title))

View File

@@ -1,5 +1,3 @@
from __future__ import absolute_import, unicode_literals
from django.db import models from django.db import models
from wagtail.admin.edit_handlers import FieldPanel from wagtail.admin.edit_handlers import FieldPanel
from wagtail.core.fields import RichTextField from wagtail.core.fields import RichTextField

View File

@@ -5,7 +5,9 @@ import datetime
import pytest import pytest
from tests.factories.segment import SegmentFactory from tests.factories.segment import SegmentFactory
from tests.factories.page import ContentPageFactory
from wagtail_personalisation.rules import TimeRule from wagtail_personalisation.rules import TimeRule
from tests.site.pages import models
@pytest.mark.django_db @pytest.mark.django_db
@@ -25,3 +27,10 @@ def test_metadata_page_has_variants(segmented_page):
canonical = segmented_page.personalisation_metadata.canonical_page canonical = segmented_page.personalisation_metadata.canonical_page
assert canonical.personalisation_metadata.is_canonical assert canonical.personalisation_metadata.is_canonical
assert canonical.personalisation_metadata.has_variants assert canonical.personalisation_metadata.has_variants
@pytest.mark.django_db
def test_content_page_model():
page = ContentPageFactory()
qs = models.ContentPage.objects.all()
assert page in qs