mirror of
https://github.com/wagtail/wagtail.git
synced 2024-12-01 11:41:20 +01:00
Merge branch 'master' of https://github.com/torchbox/wagtail
This commit is contained in:
commit
dc7e5e4122
@ -18,6 +18,7 @@ Changelog
|
||||
* Added contextual links to admin notification messages
|
||||
* When copying pages, it is now possible to specify a place to copy to (Timo Rieber)
|
||||
* FieldPanel now accepts an optional 'widget' parameter to override the field's default form widget (Alejandro Giacometti)
|
||||
* Page URL paths can now be longer than 255 characters
|
||||
* Dropped Django 1.6 support
|
||||
* Dropped Python 2.6 and 3.2 support
|
||||
* Dropped Elasticsearch 0.90.x support
|
||||
|
@ -59,6 +59,7 @@ Core
|
||||
* The Page model now records the date/time that a page was first published, as the field ``first_published_at``
|
||||
* Increased the maximum length of a page slug from 50 to 255 characters
|
||||
* Added hooks ``register_rich_text_embed_handler`` and ``register_rich_text_link_handler`` for customising link / embed handling within rich text fields
|
||||
* Page URL paths can now be longer than 255 characters
|
||||
|
||||
|
||||
Admin
|
||||
|
@ -0,0 +1,20 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import models, migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('wagtailcore', '0015_add_more_verbose_names'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='page',
|
||||
name='url_path',
|
||||
field=models.TextField(verbose_name='URL path', editable=False, blank=True),
|
||||
preserve_default=True,
|
||||
),
|
||||
]
|
@ -274,7 +274,7 @@ class Page(six.with_metaclass(PageBase, MP_Node, ClusterableModel, index.Indexed
|
||||
content_type = models.ForeignKey('contenttypes.ContentType', verbose_name=_('Content type'), related_name='pages')
|
||||
live = models.BooleanField(verbose_name=_('Live'), default=True, editable=False)
|
||||
has_unpublished_changes = models.BooleanField(verbose_name=_('Has unpublished changes'), default=False, editable=False)
|
||||
url_path = models.CharField(verbose_name=_('URL path'), max_length=255, blank=True, editable=False)
|
||||
url_path = models.TextField(verbose_name=_('URL path'), blank=True, editable=False)
|
||||
owner = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=_('Owner'), null=True, blank=True, editable=False, on_delete=models.SET_NULL, related_name='owned_pages')
|
||||
|
||||
seo_title = models.CharField(verbose_name=_("Page title"), max_length=255, blank=True, help_text=_("Optional. 'Search Engine Friendly' title. This will appear at the top of the browser window."))
|
||||
|
@ -677,3 +677,30 @@ class TestIssue756(TestCase):
|
||||
|
||||
# Check that latest_revision_created_at is still set
|
||||
self.assertIsNotNone(Page.objects.get(id=1).latest_revision_created_at)
|
||||
|
||||
|
||||
class TestIssue1216(TestCase):
|
||||
"""
|
||||
Test that url paths greater than 255 characters are supported
|
||||
"""
|
||||
fixtures = ['test.json']
|
||||
|
||||
def test_url_path_can_exceed_255_characters(self):
|
||||
event_index = Page.objects.get(url_path='/home/events/')
|
||||
christmas_event = EventPage.objects.get(url_path='/home/events/christmas/')
|
||||
|
||||
# Change the christmas_event slug first - this way, we test that the process for
|
||||
# updating child url paths also handles >255 character paths correctly
|
||||
new_christmas_slug = "christmas-%s-christmas" % ("0123456789" * 20)
|
||||
christmas_event.slug = new_christmas_slug
|
||||
christmas_event.save_revision().publish()
|
||||
|
||||
# Change the event index slug and publish it
|
||||
new_event_index_slug = "events-%s-events" % ("0123456789" * 20)
|
||||
event_index.slug = new_event_index_slug
|
||||
event_index.save_revision().publish()
|
||||
|
||||
# Check that the url path updated correctly
|
||||
new_christmas_event = EventPage.objects.get(id=christmas_event.id)
|
||||
expected_url_path = "/home/%s/%s/" % (new_event_index_slug, new_christmas_slug)
|
||||
self.assertEqual(new_christmas_event.url_path, expected_url_path)
|
||||
|
Loading…
Reference in New Issue
Block a user