Remove custom wagtail page form
THe older page form allowed to change segment settings inline but since support for this was temporarily removed in an earlier commit we can clean this up too
This commit is contained in:
@ -1,43 +0,0 @@
|
||||
from wagtail.wagtailadmin.forms import WagtailAdminPageForm
|
||||
|
||||
|
||||
class AdminPersonalisablePageForm(WagtailAdminPageForm):
|
||||
"""The personalisable page form that allows creation of variants."""
|
||||
|
||||
def save(self, commit=True):
|
||||
"""Save a copy of the original page, linked to a segment.
|
||||
|
||||
:returns: The original page, or a new page.
|
||||
:rtype: wagtail_personalisation.models.PersonalisablePage
|
||||
|
||||
"""
|
||||
page = super(AdminPersonalisablePageForm, self).save(commit=False)
|
||||
|
||||
if page.segment:
|
||||
segment = page.segment
|
||||
slug = "{}-{}".format(page.slug, segment.encoded_name())
|
||||
title = "{} ({})".format(page.title, segment.name)
|
||||
update_attrs = {
|
||||
'title': title,
|
||||
'slug': slug,
|
||||
'segment': segment,
|
||||
'live': False,
|
||||
'canonical_page': page,
|
||||
'is_segmented': True,
|
||||
}
|
||||
|
||||
if page.is_segmented:
|
||||
slug = "{}-{}".format(
|
||||
page.canonical_page.slug, segment.encoded_name())
|
||||
title = "{} ({})".format(
|
||||
page.canonical_page.title, segment.name)
|
||||
page.slug = slug
|
||||
page.title = title
|
||||
page.save()
|
||||
return page
|
||||
else:
|
||||
new_page = page.copy(
|
||||
update_attrs=update_attrs, copy_revisions=False)
|
||||
return new_page
|
||||
|
||||
return page
|
@ -0,0 +1,19 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11.1 on 2017-06-01 11:48
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('wagtail_personalisation', '0011_personalisablepagemetadata'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='personalisablepagemetadata',
|
||||
name='is_segmented',
|
||||
),
|
||||
]
|
@ -7,13 +7,12 @@ from django.utils.functional import cached_property
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from modelcluster.fields import ParentalKey
|
||||
from modelcluster.models import ClusterableModel
|
||||
from wagtail.wagtailcore.models import Page
|
||||
from wagtail.utils.decorators import cached_classmethod
|
||||
from wagtail.wagtailadmin.edit_handlers import (
|
||||
FieldPanel, FieldRowPanel, InlinePanel, MultiFieldPanel, ObjectList,
|
||||
PageChooserPanel, TabbedInterface)
|
||||
from wagtail.wagtailcore.models import Page
|
||||
|
||||
from wagtail_personalisation.forms import AdminPersonalisablePageForm
|
||||
from wagtail_personalisation.rules import AbstractBaseRule
|
||||
from wagtail_personalisation.utils import count_active_days
|
||||
|
||||
@ -115,10 +114,6 @@ class PersonalisablePageMetadata(ClusterableModel):
|
||||
segment = models.ForeignKey(
|
||||
Segment, related_name='page_metadata', null=True, blank=True)
|
||||
|
||||
is_segmented = models.BooleanField(default=False)
|
||||
|
||||
base_form_class = AdminPersonalisablePageForm
|
||||
|
||||
@cached_property
|
||||
def has_variations(self):
|
||||
"""Return a boolean indicating whether or not the personalisable page
|
||||
@ -170,8 +165,7 @@ class PersonalisablePageMetadata(ClusterableModel):
|
||||
PersonalisablePageMetadata.objects.create(
|
||||
canonical_page=page,
|
||||
variant=new_page,
|
||||
segment=segment,
|
||||
is_segmented=True)
|
||||
segment=segment)
|
||||
return new_page
|
||||
|
||||
def variants_for_segments(self, segments):
|
||||
|
Reference in New Issue
Block a user