コード例 #1
0
    def test_render_within_structblock(self, get_embed):
        """
        When rendering the value of an EmbedBlock directly in a template
        (as happens when accessing it as a child of a StructBlock), the
        proper embed output should be rendered, not the URL.
        """
        get_embed.return_value = Embed(html="<h1>Hello world!</h1>")

        block = blocks.StructBlock([
            ("title", blocks.CharBlock()),
            ("embed", EmbedBlock()),
        ])

        block_val = block.to_python({
            "title": "A test",
            "embed": "http://www.example.com/foo"
        })

        temp = template.Template("embed: {{ self.embed }}")
        context = template.Context({"self": block_val})
        result = temp.render(context)

        self.assertIn("<h1>Hello world!</h1>", result)

        # Check that get_embed was called correctly
        get_embed.assert_any_call("http://www.example.com/foo", None, None)
コード例 #2
0
class Migration(migrations.Migration):

    dependencies = [
        ('tests', '0012_pagewithrelatedpages'),
    ]

    operations = [
        migrations.AlterField(
            model_name='pagewithstreamfield',
            name='body',
            field=wagtail_fields.StreamField([('link_block', wagtail_blocks.StructBlock([('page', wagtail_blocks.PageChooserBlock(required=False)), ('text', wagtail_blocks.CharBlock(max_length=250))])), ('page', wagtail_blocks.PageChooserBlock()), ('stream', wagtail_blocks.StreamBlock([('page', wagtail_blocks.PageChooserBlock())])), ('rich_text', wagtail_blocks.RichTextBlock()), ('list_of_pages', wagtail_blocks.ListBlock(wagtail_blocks.PageChooserBlock()))], blank=True, verbose_name='Page body'),
        ),
    ]
コード例 #3
0
class Migration(migrations.Migration):

    dependencies = [
        ('wagtailcore', '0041_group_collection_permissions_verbose_name_plural'),
        ('tests', '0004_pagewithrichtext'),
    ]

    operations = [
        migrations.CreateModel(
            name='PageWithStreamField',
            fields=[
                ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')),
                ('body', wagtail_fields.StreamField([('link_block', wagtail_blocks.StructBlock([('page', wagtail_blocks.PageChooserBlock()), ('text', wagtail_blocks.CharBlock(max_length=250))])), ('page', wagtail_blocks.PageChooserBlock()), ('stream', wagtail_blocks.StreamBlock([('page', wagtail_blocks.PageChooserBlock())])), ('rich_text', wagtail_blocks.RichTextBlock()), ('list_of_pages', wagtail_blocks.ListBlock(wagtail_blocks.PageChooserBlock()))], blank=True, verbose_name='Page body')),
            ],
            options={
                'abstract': False,
            },
            bases=('wagtailcore.page',),
        ),
    ]
コード例 #4
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ("wagtailcore", "0066_collection_management_permissions"),
    ]

    operations = [
        migrations.CreateModel(
            name="ClassicGeoPage",
            fields=[
                (
                    "page_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="wagtailcore.page",
                    ),
                ),
                ("address",
                 models.CharField(blank=True, max_length=250, null=True)),
                ("location",
                 models.CharField(blank=True, max_length=250, null=True)),
            ],
            options={
                "abstract": False,
            },
            bases=("wagtailcore.page", ),
        ),
        migrations.CreateModel(
            name="ClassicGeoPageWithLeaflet",
            fields=[
                (
                    "page_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="wagtailcore.page",
                    ),
                ),
                (
                    "address",
                    models.CharField(
                        blank=True,
                        help_text="Search powered by MapBox",
                        max_length=250,
                        null=True,
                    ),
                ),
                ("location",
                 models.CharField(blank=True, max_length=250, null=True)),
            ],
            options={
                "abstract": False,
            },
            bases=("wagtailcore.page", ),
        ),
        migrations.CreateModel(
            name="ClassicGeoPageWithLeafletAndZoom",
            fields=[
                (
                    "page_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="wagtailcore.page",
                    ),
                ),
                (
                    "address",
                    models.CharField(
                        blank=True,
                        help_text="Search powered by Nominatim",
                        max_length=250,
                        null=True,
                    ),
                ),
                ("location",
                 models.CharField(blank=True, max_length=250, null=True)),
                ("zoom", models.SmallIntegerField(blank=True, null=True)),
            ],
            options={
                "abstract": False,
            },
            bases=("wagtailcore.page", ),
        ),
        migrations.CreateModel(
            name="ClassicGeoPageWithZoom",
            fields=[
                (
                    "page_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="wagtailcore.page",
                    ),
                ),
                ("address",
                 models.CharField(blank=True, max_length=250, null=True)),
                ("location",
                 models.CharField(blank=True, max_length=250, null=True)),
                ("zoom", models.SmallIntegerField(blank=True, null=True)),
            ],
            options={
                "abstract": False,
            },
            bases=("wagtailcore.page", ),
        ),
        migrations.CreateModel(
            name="GeoLocation",
            fields=[
                (
                    "id",
                    models.AutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("title", models.CharField(max_length=255)),
                ("address",
                 models.CharField(blank=True, max_length=250, null=True)),
                ("zoom", models.SmallIntegerField(blank=True, null=True)),
                (
                    "location",
                    django.contrib.gis.db.models.fields.PointField(blank=True,
                                                                   null=True,
                                                                   srid=4326),
                ),
            ],
        ),
        migrations.CreateModel(
            name="GeoLocationWithLeaflet",
            fields=[
                (
                    "id",
                    models.AutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("title", models.CharField(max_length=255)),
                (
                    "address",
                    models.CharField(
                        blank=True,
                        help_text="Search powered by Nominatim",
                        max_length=250,
                        null=True,
                    ),
                ),
                ("zoom", models.SmallIntegerField(blank=True, null=True)),
                (
                    "location",
                    django.contrib.gis.db.models.fields.PointField(blank=True,
                                                                   null=True,
                                                                   srid=4326),
                ),
            ],
        ),
        migrations.CreateModel(
            name="GeoPage",
            fields=[
                (
                    "page_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="wagtailcore.page",
                    ),
                ),
                ("address",
                 models.CharField(blank=True, max_length=250, null=True)),
                (
                    "location",
                    django.contrib.gis.db.models.fields.PointField(blank=True,
                                                                   null=True,
                                                                   srid=4326),
                ),
            ],
            options={
                "abstract": False,
            },
            bases=("wagtailcore.page", ),
        ),
        migrations.CreateModel(
            name="GeoPageWithLeaflet",
            fields=[
                (
                    "page_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="wagtailcore.page",
                    ),
                ),
                (
                    "address",
                    models.CharField(
                        blank=True,
                        help_text="Search powered by Nominatim",
                        max_length=250,
                        null=True,
                    ),
                ),
                (
                    "location",
                    django.contrib.gis.db.models.fields.PointField(blank=True,
                                                                   null=True,
                                                                   srid=4326),
                ),
            ],
            options={
                "abstract": False,
            },
            bases=("wagtailcore.page", ),
        ),
        migrations.CreateModel(
            name="GeoStreamPage",
            fields=[
                (
                    "page_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="wagtailcore.page",
                    ),
                ),
                (
                    "body",
                    wagtail_fields.StreamField([
                        ("map", wagtailgeowidget.blocks.GoogleMapsBlock()),
                        (
                            "map_with_leaflet",
                            wagtailgeowidget.blocks.LeafletBlock(),
                        ),
                        (
                            "map_struct",
                            wagtail_blocks.StructBlock(
                                [
                                    (
                                        "address",
                                        wagtailgeowidget.blocks.
                                        GeoAddressBlock(required=True),
                                    ),
                                    (
                                        "map",
                                        wagtailgeowidget.blocks.
                                        GoogleMapsBlock(
                                            address_field="address"),
                                    ),
                                ],
                                icon="user",
                            ),
                        ),
                        (
                            "map_struct_with_deprecated_geopanel",
                            wagtail_blocks.StructBlock(
                                [
                                    (
                                        "address",
                                        wagtail_blocks.CharBlock(
                                            required=True),
                                    ),
                                    (
                                        "map",
                                        wagtailgeowidget.blocks.GeoBlock(
                                            address_field="address"),
                                    ),
                                ],
                                icon="user",
                            ),
                        ),
                        (
                            "map_struct_with_leaflet",
                            wagtail_blocks.StructBlock(
                                [
                                    (
                                        "address",
                                        wagtailgeowidget.blocks.
                                        GeoAddressBlock(required=True),
                                    ),
                                    (
                                        "map",
                                        wagtailgeowidget.blocks.LeafletBlock(
                                            address_field="address"),
                                    ),
                                ],
                                icon="user",
                            ),
                        ),
                        (
                            "map_struct_with_zoom",
                            wagtail_blocks.StructBlock(
                                [
                                    (
                                        "address",
                                        wagtailgeowidget.blocks.
                                        GeoAddressBlock(required=True),
                                    ),
                                    (
                                        "zoom",
                                        wagtailgeowidget.blocks.GeoZoomBlock(
                                            required=False),
                                    ),
                                    (
                                        "map",
                                        wagtailgeowidget.blocks.
                                        GoogleMapsBlock(
                                            address_field="address",
                                            zoom_field="zoom",
                                        ),
                                    ),
                                ],
                                icon="user",
                            ),
                        ),
                        (
                            "map_struct_leaflet_with_zoom",
                            wagtail_blocks.StructBlock(
                                [
                                    (
                                        "address",
                                        wagtailgeowidget.blocks.
                                        GeoAddressBlock(required=True),
                                    ),
                                    (
                                        "zoom",
                                        wagtailgeowidget.blocks.GeoZoomBlock(
                                            required=False),
                                    ),
                                    (
                                        "map",
                                        wagtailgeowidget.blocks.LeafletBlock(
                                            address_field="address",
                                            zoom_field="zoom",
                                        ),
                                    ),
                                ],
                                icon="user",
                            ),
                        ),
                    ]),
                ),
            ],
            options={
                "abstract": False,
            },
            bases=("wagtailcore.page", ),
        ),
        migrations.CreateModel(
            name="GeoPageWithLeafletRelatedLocations",
            fields=[
                (
                    "geolocationwithleaflet_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="geopage.geolocationwithleaflet",
                    ),
                ),
                (
                    "sort_order",
                    models.IntegerField(blank=True, editable=False, null=True),
                ),
                (
                    "page",
                    modelcluster.fields.ParentalKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="related_locations",
                        to="geopage.geopagewithleaflet",
                    ),
                ),
            ],
            options={
                "ordering": ["sort_order"],
                "abstract": False,
            },
            bases=("geopage.geolocationwithleaflet", models.Model),
        ),
        migrations.CreateModel(
            name="GeoPageRelatedLocations",
            fields=[
                (
                    "geolocation_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="geopage.geolocation",
                    ),
                ),
                (
                    "sort_order",
                    models.IntegerField(blank=True, editable=False, null=True),
                ),
                (
                    "page",
                    modelcluster.fields.ParentalKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="related_locations",
                        to="geopage.geopage",
                    ),
                ),
            ],
            options={
                "ordering": ["sort_order"],
                "abstract": False,
            },
            bases=("geopage.geolocation", models.Model),
        ),
    ]
コード例 #5
0
ファイル: models.py プロジェクト: Frojd/wagtail-geo-widget
class GeoStreamPage(Page):
    body = StreamField([
        ("map", GoogleMapsBlock()),
        ("map_with_leaflet", LeafletBlock()),
        (
            "map_struct",
            blocks.StructBlock(
                [
                    ("address", GeoAddressBlock(required=True)),
                    ("map", GoogleMapsBlock(address_field="address")),
                ],
                icon="user",
            ),
        ),
        (
            "map_struct_with_deprecated_geopanel",
            blocks.StructBlock(
                [
                    ("address", blocks.CharBlock(required=True)),
                    ("map", GeoBlock(address_field="address")),
                ],
                icon="user",
            ),
        ),
        (
            "map_struct_with_leaflet",
            blocks.StructBlock(
                [
                    ("address", GeoAddressBlock(required=True)),
                    ("map", LeafletBlock(address_field="address")),
                ],
                icon="user",
            ),
        ),
        (
            "map_struct_with_zoom",
            blocks.StructBlock(
                [
                    ("address", GeoAddressBlock(required=True)),
                    ("zoom", GeoZoomBlock(required=False)),
                    (
                        "map",
                        GoogleMapsBlock(address_field="address",
                                        zoom_field="zoom"),
                    ),
                ],
                icon="user",
            ),
        ),
        (
            "map_struct_leaflet_with_zoom",
            blocks.StructBlock(
                [
                    ("address", GeoAddressBlock(required=True)),
                    ("zoom", GeoZoomBlock(required=False)),
                    (
                        "map",
                        LeafletBlock(address_field="address",
                                     zoom_field="zoom"),
                    ),
                ],
                icon="user",
            ),
        ),
    ])

    content_panels = Page.content_panels + [
        StreamFieldPanel("body"),
    ]

    def get_context(self, request):
        data = super(GeoStreamPage, self).get_context(request)
        return data
コード例 #6
0
ファイル: models.py プロジェクト: Frojd/wagtail-geo-widget
class StreamPage(Page):
    body = StreamField([
        ("map", GoogleMapsBlock()),
        ("map_leaflet", LeafletBlock()),
        (
            "map_struct",
            blocks.StructBlock(
                [
                    ("address", GeoAddressBlock(required=True)),
                    ("map", GoogleMapsBlock(address_field="address")),
                ],
                icon="user",
            ),
        ),
        (
            "map_struct_with_deprecated_geopanel",
            blocks.StructBlock(
                [
                    ("address", blocks.CharBlock(required=True)),
                    ("map", GeoBlock(address_field="address")),
                ],
                icon="user",
            ),
        ),
        (
            "map_struct_leaflet",
            blocks.StructBlock(
                [
                    (
                        "address",
                        GeoAddressBlock(required=True,
                                        geocoder=geocoders.MAPBOX),
                    ),
                    ("map", LeafletBlock(address_field="address")),
                ],
                icon="user",
            ),
        ),
        (
            "map_struct_with_zoom",
            blocks.StructBlock(
                [
                    ("address", GeoAddressBlock(required=True)),
                    ("zoom", GeoZoomBlock(required=False)),
                    (
                        "map",
                        GoogleMapsBlock(address_field="address",
                                        zoom_field="zoom"),
                    ),
                ],
                icon="user",
            ),
        ),
        (
            "map_struct_leaflet_with_zoom",
            blocks.StructBlock(
                [
                    ("address", GeoAddressBlock(required=True)),
                    ("zoom", GeoZoomBlock(required=False)),
                    (
                        "map",
                        LeafletBlock(address_field="address",
                                     zoom_field="zoom"),
                    ),
                ],
                icon="user",
            ),
        ),
    ])

    content_panels = Page.content_panels + [
        StreamFieldPanel("body"),
    ]
コード例 #7
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ("wagtailcore", "0066_collection_management_permissions"),
    ]

    operations = [
        migrations.CreateModel(
            name="StandardPage",
            fields=[
                (
                    "page_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="wagtailcore.page",
                    ),
                ),
                ("address",
                 models.CharField(blank=True, max_length=250, null=True)),
                ("location",
                 models.CharField(blank=True, max_length=250, null=True)),
            ],
            options={
                "abstract": False,
            },
            bases=("wagtailcore.page", ),
        ),
        migrations.CreateModel(
            name="StandardPageWithLeaflet",
            fields=[
                (
                    "page_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="wagtailcore.page",
                    ),
                ),
                (
                    "address",
                    models.CharField(
                        blank=True,
                        help_text="Search powered by Nominatim",
                        max_length=250,
                        null=True,
                    ),
                ),
                ("location",
                 models.CharField(blank=True, max_length=250, null=True)),
            ],
            options={
                "abstract": False,
            },
            bases=("wagtailcore.page", ),
        ),
        migrations.CreateModel(
            name="StandardPageWithLeafletAndZoom",
            fields=[
                (
                    "page_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="wagtailcore.page",
                    ),
                ),
                (
                    "address",
                    models.CharField(
                        blank=True,
                        help_text="Search powered by Nominatim",
                        max_length=250,
                        null=True,
                    ),
                ),
                ("location",
                 models.CharField(blank=True, max_length=250, null=True)),
                ("zoom", models.SmallIntegerField(blank=True, null=True)),
            ],
            options={
                "abstract": False,
            },
            bases=("wagtailcore.page", ),
        ),
        migrations.CreateModel(
            name="StandardPageWithZoom",
            fields=[
                (
                    "page_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="wagtailcore.page",
                    ),
                ),
                ("address",
                 models.CharField(blank=True, max_length=250, null=True)),
                ("location",
                 models.CharField(blank=True, max_length=250, null=True)),
                ("zoom", models.SmallIntegerField(blank=True, null=True)),
            ],
            options={
                "abstract": False,
            },
            bases=("wagtailcore.page", ),
        ),
        migrations.CreateModel(
            name="StreamPage",
            fields=[
                (
                    "page_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="wagtailcore.page",
                    ),
                ),
                (
                    "body",
                    wagtail_fields.StreamField([
                        ("map", wagtailgeowidget.blocks.GoogleMapsBlock()),
                        ("map_leaflet",
                         wagtailgeowidget.blocks.LeafletBlock()),
                        (
                            "map_struct",
                            wagtail_blocks.StructBlock(
                                [
                                    (
                                        "address",
                                        wagtailgeowidget.blocks.
                                        GeoAddressBlock(required=True),
                                    ),
                                    (
                                        "map",
                                        wagtailgeowidget.blocks.
                                        GoogleMapsBlock(
                                            address_field="address"),
                                    ),
                                ],
                                icon="user",
                            ),
                        ),
                        (
                            "map_struct_with_deprecated_geopanel",
                            wagtail_blocks.StructBlock(
                                [
                                    (
                                        "address",
                                        wagtail_blocks.CharBlock(
                                            required=True),
                                    ),
                                    (
                                        "map",
                                        wagtailgeowidget.blocks.GeoBlock(
                                            address_field="address"),
                                    ),
                                ],
                                icon="user",
                            ),
                        ),
                        (
                            "map_struct_leaflet",
                            wagtail_blocks.StructBlock(
                                [
                                    (
                                        "address",
                                        wagtailgeowidget.blocks.
                                        GeoAddressBlock(required=True),
                                    ),
                                    (
                                        "map",
                                        wagtailgeowidget.blocks.LeafletBlock(
                                            address_field="address"),
                                    ),
                                ],
                                icon="user",
                            ),
                        ),
                        (
                            "map_struct_with_zoom",
                            wagtail_blocks.StructBlock(
                                [
                                    (
                                        "address",
                                        wagtailgeowidget.blocks.
                                        GeoAddressBlock(required=True),
                                    ),
                                    (
                                        "zoom",
                                        wagtailgeowidget.blocks.GeoZoomBlock(
                                            required=False),
                                    ),
                                    (
                                        "map",
                                        wagtailgeowidget.blocks.
                                        GoogleMapsBlock(
                                            address_field="address",
                                            zoom_field="zoom",
                                        ),
                                    ),
                                ],
                                icon="user",
                            ),
                        ),
                        (
                            "map_struct_leaflet_with_zoom",
                            wagtail_blocks.StructBlock(
                                [
                                    (
                                        "address",
                                        wagtailgeowidget.blocks.
                                        GeoAddressBlock(required=True),
                                    ),
                                    (
                                        "zoom",
                                        wagtailgeowidget.blocks.GeoZoomBlock(
                                            required=False),
                                    ),
                                    (
                                        "map",
                                        wagtailgeowidget.blocks.LeafletBlock(
                                            address_field="address",
                                            zoom_field="zoom",
                                        ),
                                    ),
                                ],
                                icon="user",
                            ),
                        ),
                    ]),
                ),
            ],
            options={
                "abstract": False,
            },
            bases=("wagtailcore.page", ),
        ),
    ]