7

Move to edit page if variant exists fixes #106 and fixes #89

This commit is contained in:
Rob Moorman
2017-05-31 13:20:12 +02:00
committed by Michael van Tellingen
parent 5076dd60bd
commit fc442171e4

View File

@ -7,6 +7,7 @@ from django.shortcuts import get_object_or_404, reverse
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_personalisation.models import PersonalisablePage, Segment from wagtail_personalisation.models import PersonalisablePage, Segment
@ -137,9 +138,12 @@ def copy_page_view(request, page_id, segment_id):
'is_segmented': True, 'is_segmented': True,
} }
new_page = page.copy(update_attrs=update_attrs, copy_revisions=False) try:
variant = Page.objects.get(slug=slug, depth=page.depth)
except Page.DoesNotExist:
variant = page.copy(update_attrs=update_attrs, copy_revisions=False)
edit_url = reverse('wagtailadmin_pages:edit', args=[new_page.id]) edit_url = reverse('wagtailadmin_pages:edit', args=[variant.id])
return HttpResponseRedirect(edit_url) return HttpResponseRedirect(edit_url)