From 652255b9d99699e70222cf65c1d410d556bd3760 Mon Sep 17 00:00:00 2001 From: Sharmaine Lim Date: Mon, 4 Oct 2021 18:12:54 +0800 Subject: [PATCH 01/12] Create integration branch for frontend and backend From 2f2e68c9be09657fea706dcb2e98e52121f13d45 Mon Sep 17 00:00:00 2001 From: Sharmaine Lim Date: Wed, 6 Oct 2021 17:18:30 +0800 Subject: [PATCH 02/12] Bump wagtailmedia to 0.8.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 3b8cef06319..b6d51e0d123 100644 --- a/requirements.txt +++ b/requirements.txt @@ -258,7 +258,7 @@ wagtail-localize-git==0.9.3 # via -r requirements.in wagtail-metadata==3.4.0 # via -r requirements.in -wagtailmedia==0.7.1 +wagtailmedia==0.8.0 # via -r requirements.in webencodings==0.5.1 # via html5lib From 69afb2213a3095fd9abec7661e4f86c331478631 Mon Sep 17 00:00:00 2001 From: Sharmaine Lim Date: Wed, 6 Oct 2021 17:21:23 +0800 Subject: [PATCH 03/12] Add EmbeddedVideoBlock --- .../pagemodels/customblocks/__init__.py | 3 ++- .../pagemodels/customblocks/video_block.py | 5 ++++ .../blocks/embedded_video_block.html | 25 +++++++++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 network-api/networkapi/wagtailpages/templates/wagtailpages/blocks/embedded_video_block.html diff --git a/network-api/networkapi/wagtailpages/pagemodels/customblocks/__init__.py b/network-api/networkapi/wagtailpages/pagemodels/customblocks/__init__.py index 9c2c7606f41..9625a2050db 100644 --- a/network-api/networkapi/wagtailpages/pagemodels/customblocks/__init__.py +++ b/network-api/networkapi/wagtailpages/pagemodels/customblocks/__init__.py @@ -20,7 +20,7 @@ from .typeform_block import TypeformBlock from .quote_block import QuoteBlock from .single_quote_block import SingleQuoteBlock -from .video_block import VideoBlock +from .video_block import EmbeddedVideoBlock, VideoBlock from .youtube_regret_block import YoutubeRegretBlock from .articles import ArticleRichText, ArticleDoubleImageBlock, ArticleFullWidthImageBlock, ArticleImageBlock from .dear_internet_letter_block import DearInternetLetterBlock @@ -40,6 +40,7 @@ CardGrid, CardGridBlock, DearInternetLetterBlock, + EmbeddedVideoBlock, iFrameBlock, ImageBlock, ImageGrid, diff --git a/network-api/networkapi/wagtailpages/pagemodels/customblocks/video_block.py b/network-api/networkapi/wagtailpages/pagemodels/customblocks/video_block.py index b9efc2d339d..ef55c531175 100644 --- a/network-api/networkapi/wagtailpages/pagemodels/customblocks/video_block.py +++ b/network-api/networkapi/wagtailpages/pagemodels/customblocks/video_block.py @@ -10,6 +10,11 @@ def __init__(self, *args, **kwargs): ) +class EmbeddedVideoBlock(blocks.URLBlock): + class Meta: + template = 'wagtailpages/blocks/embedded_video_block.html' + + class VideoBlock(blocks.StructBlock): url = blocks.CharBlock( help_text='For YouTube: go to your YouTube video and click “Share,” ' diff --git a/network-api/networkapi/wagtailpages/templates/wagtailpages/blocks/embedded_video_block.html b/network-api/networkapi/wagtailpages/templates/wagtailpages/blocks/embedded_video_block.html new file mode 100644 index 00000000000..34eb400ad92 --- /dev/null +++ b/network-api/networkapi/wagtailpages/templates/wagtailpages/blocks/embedded_video_block.html @@ -0,0 +1,25 @@ +{% extends "./base_streamfield_block.html" %} +{% load wagtailcore_tags %} + +{% block block_row_classes %} +no-gutters +{% endblock %} + +{% block main_block_class %} +streamfield-content +full-width +{% endblock %} + +{% block block_content %} +
+
+ +
+
+{% endblock %} From 439e59ae512f1d24ecd080654b3f81cb9f8073ed Mon Sep 17 00:00:00 2001 From: Sharmaine Lim Date: Wed, 6 Oct 2021 17:29:25 +0800 Subject: [PATCH 04/12] Add WagtailVideoChooserBlock --- .../pagemodels/customblocks/__init__.py | 3 ++- .../pagemodels/customblocks/video_block.py | 8 ++++++ .../blocks/wagtail_video_block.html | 25 +++++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 network-api/networkapi/wagtailpages/templates/wagtailpages/blocks/wagtail_video_block.html diff --git a/network-api/networkapi/wagtailpages/pagemodels/customblocks/__init__.py b/network-api/networkapi/wagtailpages/pagemodels/customblocks/__init__.py index 9625a2050db..218ede4f826 100644 --- a/network-api/networkapi/wagtailpages/pagemodels/customblocks/__init__.py +++ b/network-api/networkapi/wagtailpages/pagemodels/customblocks/__init__.py @@ -20,7 +20,7 @@ from .typeform_block import TypeformBlock from .quote_block import QuoteBlock from .single_quote_block import SingleQuoteBlock -from .video_block import EmbeddedVideoBlock, VideoBlock +from .video_block import EmbeddedVideoBlock, VideoBlock, WagtailVideoChooserBlock from .youtube_regret_block import YoutubeRegretBlock from .articles import ArticleRichText, ArticleDoubleImageBlock, ArticleFullWidthImageBlock, ArticleImageBlock from .dear_internet_letter_block import DearInternetLetterBlock @@ -58,5 +58,6 @@ RecentBlogEntries, TypeformBlock, VideoBlock, + WagtailVideoChooserBlock, YoutubeRegretBlock, ] diff --git a/network-api/networkapi/wagtailpages/pagemodels/customblocks/video_block.py b/network-api/networkapi/wagtailpages/pagemodels/customblocks/video_block.py index ef55c531175..e1f7adeeb23 100644 --- a/network-api/networkapi/wagtailpages/pagemodels/customblocks/video_block.py +++ b/network-api/networkapi/wagtailpages/pagemodels/customblocks/video_block.py @@ -1,6 +1,8 @@ from django import forms from wagtail.core import blocks +from wagtailmedia import blocks as wagtailmedia_blocks + class RadioSelectBlock(blocks.ChoiceBlock): def __init__(self, *args, **kwargs): @@ -42,3 +44,9 @@ class VideoBlock(blocks.StructBlock): class Meta: template = 'wagtailpages/blocks/video_block.html' + + +class WagtailVideoChooserBlock(wagtailmedia_blocks.VideoChooserBlock): + class Meta: + icon = "media" + template = 'wagtailpages/blocks/wagtail_video_block.html' diff --git a/network-api/networkapi/wagtailpages/templates/wagtailpages/blocks/wagtail_video_block.html b/network-api/networkapi/wagtailpages/templates/wagtailpages/blocks/wagtail_video_block.html new file mode 100644 index 00000000000..6e1c536ff67 --- /dev/null +++ b/network-api/networkapi/wagtailpages/templates/wagtailpages/blocks/wagtail_video_block.html @@ -0,0 +1,25 @@ +{% extends "./base_streamfield_block.html" %} +{% load wagtailcore_tags %} + +{% block block_row_classes %} +no-gutters +{% endblock %} + +{% block main_block_class %} +streamfield-content +{% endblock %} + +{% block block_content %} + +{% endblock %} From d66cf8c02d0f5680d04105c2a2ece62ab46b8950 Mon Sep 17 00:00:00 2001 From: Sharmaine Lim Date: Wed, 6 Oct 2021 17:30:41 +0800 Subject: [PATCH 05/12] Add BannerCarouselSlideBlock --- .../wagtailpages/pagemodels/customblocks/__init__.py | 2 ++ .../pagemodels/customblocks/banner_carousel.py | 8 ++++++++ 2 files changed, 10 insertions(+) create mode 100644 network-api/networkapi/wagtailpages/pagemodels/customblocks/banner_carousel.py diff --git a/network-api/networkapi/wagtailpages/pagemodels/customblocks/__init__.py b/network-api/networkapi/wagtailpages/pagemodels/customblocks/__init__.py index 218ede4f826..90a1b85a244 100644 --- a/network-api/networkapi/wagtailpages/pagemodels/customblocks/__init__.py +++ b/network-api/networkapi/wagtailpages/pagemodels/customblocks/__init__.py @@ -5,6 +5,7 @@ from .blog_set_block import BlogSetBlock from .bootstrap_spacer_block import BootstrapSpacerBlock from .card_grid import CardGrid, CardGridBlock +from .banner_carousel import BannerCarouselSlideBlock from .iframe_block import iFrameBlock from .image_block import ImageBlock from .image_grid import ImageGrid, ImageGridBlock @@ -35,6 +36,7 @@ ArticleFullWidthImageBlock, ArticleRichText, AudioBlock, + BannerCarouselSlideBlock, BlogSetBlock, BootstrapSpacerBlock, CardGrid, diff --git a/network-api/networkapi/wagtailpages/pagemodels/customblocks/banner_carousel.py b/network-api/networkapi/wagtailpages/pagemodels/customblocks/banner_carousel.py new file mode 100644 index 00000000000..97bb1f74957 --- /dev/null +++ b/network-api/networkapi/wagtailpages/pagemodels/customblocks/banner_carousel.py @@ -0,0 +1,8 @@ +from wagtail.core import blocks +from wagtail.images.blocks import ImageChooserBlock + + +class BannerCarouselSlideBlock(blocks.StructBlock): + image = ImageChooserBlock() + heading = blocks.CharBlock(required=False) + description = blocks.CharBlock(required=False) From c09a705fd999a5e8cb7674a48dddc148a17b1394 Mon Sep 17 00:00:00 2001 From: Sharmaine Lim Date: Wed, 6 Oct 2021 17:32:14 +0800 Subject: [PATCH 06/12] Set new banner_video_type 'featured' instead of 'hardcoded' --- network-api/networkapi/mozfest/models.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/network-api/networkapi/mozfest/models.py b/network-api/networkapi/mozfest/models.py index ad8ae64977a..c38e8e91a59 100644 --- a/network-api/networkapi/mozfest/models.py +++ b/network-api/networkapi/mozfest/models.py @@ -108,7 +108,7 @@ class MozfestHomepage(MozfestPrimaryPage): """ # this tells the templates to load a hardcoded, pre-defined video in the banner background - banner_video_type = "hardcoded" + banner_video_type = "featured" cta_button_label = models.CharField( max_length=250, @@ -135,6 +135,7 @@ class MozfestHomepage(MozfestPrimaryPage): help_text='A banner paragraph specific to the homepage' ) + # For banner_video_type == 'hardcoded' banner_video_url = models.URLField( max_length=2048, blank=True, @@ -166,6 +167,15 @@ class MozfestHomepage(MozfestPrimaryPage): if field.field_name not in ['banner', 'header', 'intro', 'banner_guide_text', 'banner_video_url'] ] + elif banner_video_type == "featured": + # Hide all the panels that aren't relevant for the video banner version of the MozFest Homepage + content_panels = [ + field for field in all_panels + if field.field_name not in [ + 'banner', 'banner_guide_text', 'banner_video_url', 'cta_button_destination', + 'cta_button_label', 'header', 'hero_image', 'intro', + ] + ] else: content_panels = all_panels From 1ca62ce47c335eef67d1d69cbe4795b052067eba Mon Sep 17 00:00:00 2001 From: Sharmaine Lim Date: Wed, 6 Oct 2021 17:33:33 +0800 Subject: [PATCH 07/12] Add banner_carousel and banner_video to MozfestHomepage model --- network-api/networkapi/mozfest/models.py | 38 ++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/network-api/networkapi/mozfest/models.py b/network-api/networkapi/mozfest/models.py index c38e8e91a59..ffb953c8a41 100644 --- a/network-api/networkapi/mozfest/models.py +++ b/network-api/networkapi/mozfest/models.py @@ -6,7 +6,7 @@ from wagtail.snippets.edit_handlers import SnippetChooserPanel from wagtail_localize.fields import SynchronizedField, TranslatableField - +from networkapi.wagtailpages.pagemodels import customblocks from networkapi.wagtailpages.utils import ( set_main_site_nav_information, get_page_tree_information @@ -142,6 +142,34 @@ class MozfestHomepage(MozfestPrimaryPage): help_text='The video to play when users click "watch video"' ) + # For banner_video_type == 'featured' + banner_carousel = StreamField( + [ + ('slide', customblocks.BannerCarouselSlideBlock()), + ], + max_num=3, + min_num=3, + null=True, + ) + + # For banner_video_type == 'featured' + banner_video = StreamField( + [ + ('CMS_video', customblocks.WagtailVideoChooserBlock()), + ('video_url', customblocks.EmbeddedVideoBlock( + help_text='For YouTube: go to your YouTube video and click “Share,” ' + 'then “Embed,” and then copy and paste the provided URL only. ' + 'For example: https://www.youtube.com/embed/3FIVXBawyQw
' + 'For Vimeo: follow similar steps to grab the embed URL. ' + 'For example: https://player.vimeo.com/video/9004979' + )), + ], + blank=True, + help_text='The video to play when users click "watch video"', + max_num=1, + null=True, + ) + subpage_types = [ 'MozfestPrimaryPage', 'MozfestHomepage', @@ -156,16 +184,20 @@ class MozfestHomepage(MozfestPrimaryPage): FieldPanel('cta_button_label'), FieldPanel('cta_button_destination'), FieldPanel('banner_heading'), + StreamFieldPanel('banner_carousel'), FieldPanel('banner_guide_text'), FieldPanel('banner_video_url'), + StreamFieldPanel('banner_video'), ] + parent_panels[n:] if banner_video_type == "hardcoded": # Hide all the panels that aren't relevant for the video banner version of the MozFest Homepage content_panels = [ field for field in all_panels - if field.field_name not in - ['banner', 'header', 'intro', 'banner_guide_text', 'banner_video_url'] + if field.field_name not in [ + 'banner', 'header', 'intro', 'banner_carousel', 'banner_guide_text', + 'banner_video', 'banner_video_url', + ] ] elif banner_video_type == "featured": # Hide all the panels that aren't relevant for the video banner version of the MozFest Homepage From 28f4050a5d3ce9b0be8aab8add1d47f3ea50e62d Mon Sep 17 00:00:00 2001 From: Sharmaine Lim Date: Wed, 6 Oct 2021 17:34:51 +0800 Subject: [PATCH 08/12] Add new banner_video_type 'featured' in HTML templates --- .../templates/fragments/hero/large.html | 12 ++++++++ .../templates/partials/homepage_banner.html | 30 +++++++++++++++++-- .../templates/partials/primary_heroguts.html | 8 ++++- 3 files changed, 47 insertions(+), 3 deletions(-) diff --git a/network-api/networkapi/mozfest/templates/fragments/hero/large.html b/network-api/networkapi/mozfest/templates/fragments/hero/large.html index c31b6f12a20..eef9710d1f8 100644 --- a/network-api/networkapi/mozfest/templates/fragments/hero/large.html +++ b/network-api/networkapi/mozfest/templates/fragments/hero/large.html @@ -25,6 +25,18 @@ + {% elif banner_video_type == "featured" %} +
    + {% for slide_block in page.specific.banner_carousel %} + {% with slide=slide_block.value %} +
  • + {% image slide.image original %} +

    {{ slide.heading }}

    +

    {{ slide.description }}

    +
  • + {% endwith %} + {% endfor %} +
{% else %} {% with banner=page.specific.get_banner %} {% if banner %} diff --git a/network-api/networkapi/mozfest/templates/partials/homepage_banner.html b/network-api/networkapi/mozfest/templates/partials/homepage_banner.html index b1f148063dd..391f22ded28 100644 --- a/network-api/networkapi/mozfest/templates/partials/homepage_banner.html +++ b/network-api/networkapi/mozfest/templates/partials/homepage_banner.html @@ -1,10 +1,36 @@ -{% load i18n %} +{% load i18n wagtailimages_tags %}

{{ page.banner_heading }}

- {% if banner_video_type != "hardcoded" %} + {% if banner_video_type == "featured" %} + {% if page.banner_video %} + {# TODO Scroll to banner_video #} + + {% endif %} + {% if page.banner_carousel %} +
    + {% for slide_block in page.specific.banner_carousel %} + {% with slide=slide_block.value %} +
  • + {% comment %} + {# Prints an image as alt={alt_text} #} + {% image slide.image original %} + {% endcomment %} + + {# Gets info for an image resized to 200 x 100 #} + {% image slide.image fill-200x100 as img %} + {{ + +

    Heading: {{ slide.heading }}

    +

    Description: {{ slide.description }}

    +
  • + {% endwith %} + {% endfor %} +
+ {% endif %} + {% elif banner_video_type != "hardcoded" %}

{{ page.banner_guide_text }}

{% if page.banner_video_url %} {% trans "Watch Video" %} diff --git a/network-api/networkapi/mozfest/templates/partials/primary_heroguts.html b/network-api/networkapi/mozfest/templates/partials/primary_heroguts.html index f08bd471003..e77eb19d80a 100644 --- a/network-api/networkapi/mozfest/templates/partials/primary_heroguts.html +++ b/network-api/networkapi/mozfest/templates/partials/primary_heroguts.html @@ -14,7 +14,13 @@
- {% if banner_video_type != "hardcoded" %} + {% if banner_video_type == "featured" %} + {% if page.banner_video %} + {# See embedded_video_block.html and wagtail_video_block.html #} + {% include_block page.banner_video %} + {% endif %} +

{% if page.header %}{{ page.header }}{% else %}{{ page.title }}{% endif %}

+ {% elif banner_video_type != "hardcoded" %}

{% if page.header %}{{ page.header }}{% else %}{{ page.title }}{% endif %}

{% if page.intro %}
{{ page.intro | richtext }}
From 28a0aa48b4d5703be48bff239f55b0a1b78f62b4 Mon Sep 17 00:00:00 2001 From: Sharmaine Lim Date: Wed, 6 Oct 2021 21:04:49 +0800 Subject: [PATCH 09/12] Add faker for MozfestHomepage carousel --- network-api/networkapi/mozfest/factory.py | 2 ++ .../networkapi/utility/faker/streamfield_provider.py | 11 ++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/network-api/networkapi/mozfest/factory.py b/network-api/networkapi/mozfest/factory.py index 86332a3f0af..79a9d9ae889 100644 --- a/network-api/networkapi/mozfest/factory.py +++ b/network-api/networkapi/mozfest/factory.py @@ -53,6 +53,8 @@ class Meta: banner_video_url = Faker('url') banner_heading_text = Faker('sentence', nb_words=6, variable_nb_words=True) + banner_carousel = Faker('streamfield', fields=['banner_carousel']) + signup = SubFactory(SignupFactory) diff --git a/network-api/networkapi/utility/faker/streamfield_provider.py b/network-api/networkapi/utility/faker/streamfield_provider.py index eddf4d2edda..cbf950de1a4 100644 --- a/network-api/networkapi/utility/faker/streamfield_provider.py +++ b/network-api/networkapi/utility/faker/streamfield_provider.py @@ -326,6 +326,14 @@ def generate_dear_internet_letter_field(): return generate_field('letter', attributes) +def generate_banner_carousel_field(): + return generate_field('slide', { + 'image': choice(Image.objects.all()).id, + 'heading': fake.sentence(nb_words=4, variable_nb_words=True), + 'description': fake.paragraph(nb_sentences=3, variable_nb_sentences=True), + }) + + class StreamfieldProvider(BaseProvider): """ A custom Faker Provider for relative image urls, for use with factory_boy @@ -368,7 +376,8 @@ def streamfield(self, fields=None): 'recent_blog_entries': generate_recent_blog_entries_field, 'blog_set': generate_blog_set_field, 'airtable': generate_airtable_field, - 'typeform': generate_typeform_field + 'typeform': generate_typeform_field, + 'banner_carousel': generate_banner_carousel_field, } streamfield_data = [] From 3f8fcbbc0037f83de068e95a8f8cdf1a6a47ca12 Mon Sep 17 00:00:00 2001 From: Sharmaine Lim Date: Wed, 6 Oct 2021 21:04:57 +0800 Subject: [PATCH 10/12] Add faker for MozfestHomepage banner video --- network-api/networkapi/mozfest/factory.py | 1 + network-api/networkapi/utility/faker/streamfield_provider.py | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/network-api/networkapi/mozfest/factory.py b/network-api/networkapi/mozfest/factory.py index 79a9d9ae889..790000222de 100644 --- a/network-api/networkapi/mozfest/factory.py +++ b/network-api/networkapi/mozfest/factory.py @@ -54,6 +54,7 @@ class Meta: banner_heading_text = Faker('sentence', nb_words=6, variable_nb_words=True) banner_carousel = Faker('streamfield', fields=['banner_carousel']) + banner_video = Faker('streamfield', fields=['banner_video']) signup = SubFactory(SignupFactory) diff --git a/network-api/networkapi/utility/faker/streamfield_provider.py b/network-api/networkapi/utility/faker/streamfield_provider.py index cbf950de1a4..44bf7a7f4ca 100644 --- a/network-api/networkapi/utility/faker/streamfield_provider.py +++ b/network-api/networkapi/utility/faker/streamfield_provider.py @@ -334,6 +334,10 @@ def generate_banner_carousel_field(): }) +def generate_banner_video_field(): + return generate_field('video_url', 'https://www.youtube.com/embed/3FIVXBawyQw') + + class StreamfieldProvider(BaseProvider): """ A custom Faker Provider for relative image urls, for use with factory_boy @@ -378,6 +382,7 @@ def streamfield(self, fields=None): 'airtable': generate_airtable_field, 'typeform': generate_typeform_field, 'banner_carousel': generate_banner_carousel_field, + 'banner_video': generate_banner_video_field, } streamfield_data = [] From 0c1051011406a7a02625c5e16bd1b74c3a2a51c7 Mon Sep 17 00:00:00 2001 From: Sharmaine Lim Date: Wed, 6 Oct 2021 17:43:11 +0800 Subject: [PATCH 11/12] Make migrations --- ...sthomepage_banner_carousel_banner_video.py | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 network-api/networkapi/mozfest/migrations/0021_mozfesthomepage_banner_carousel_banner_video.py diff --git a/network-api/networkapi/mozfest/migrations/0021_mozfesthomepage_banner_carousel_banner_video.py b/network-api/networkapi/mozfest/migrations/0021_mozfesthomepage_banner_carousel_banner_video.py new file mode 100644 index 00000000000..48028333038 --- /dev/null +++ b/network-api/networkapi/mozfest/migrations/0021_mozfesthomepage_banner_carousel_banner_video.py @@ -0,0 +1,27 @@ +# Generated by Django 3.1.11 on 2021-10-06 09:39 + +from django.db import migrations +import networkapi.wagtailpages.pagemodels.customblocks.video_block +import wagtail.core.blocks +import wagtail.core.fields +import wagtail.images.blocks + + +class Migration(migrations.Migration): + + dependencies = [ + ('mozfest', '0020_auto_20210910_2042'), + ] + + operations = [ + migrations.AddField( + model_name='mozfesthomepage', + name='banner_carousel', + field=wagtail.core.fields.StreamField([('slide', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock()), ('heading', wagtail.core.blocks.CharBlock(required=False)), ('description', wagtail.core.blocks.CharBlock(required=False))]))], null=True), + ), + migrations.AddField( + model_name='mozfesthomepage', + name='banner_video', + field=wagtail.core.fields.StreamField([('CMS_video', networkapi.wagtailpages.pagemodels.customblocks.video_block.WagtailVideoChooserBlock()), ('video_url', networkapi.wagtailpages.pagemodels.customblocks.video_block.EmbeddedVideoBlock(help_text='For YouTube: go to your YouTube video and click “Share,” then “Embed,” and then copy and paste the provided URL only. For example: https://www.youtube.com/embed/3FIVXBawyQw
For Vimeo: follow similar steps to grab the embed URL. For example: https://player.vimeo.com/video/9004979'))], blank=True, help_text='The video to play when users click "watch video"', null=True), + ), + ] From 287eefc7ab839e60cfaf505affae677f7ed71adb Mon Sep 17 00:00:00 2001 From: Sharmaine Lim Date: Thu, 7 Oct 2021 14:17:11 +0800 Subject: [PATCH 12/12] Fix spacing in HTML file MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: boggs ⚓ --- .../templates/wagtailpages/blocks/wagtail_video_block.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/network-api/networkapi/wagtailpages/templates/wagtailpages/blocks/wagtail_video_block.html b/network-api/networkapi/wagtailpages/templates/wagtailpages/blocks/wagtail_video_block.html index 6e1c536ff67..c8810f8b34a 100644 --- a/network-api/networkapi/wagtailpages/templates/wagtailpages/blocks/wagtail_video_block.html +++ b/network-api/networkapi/wagtailpages/templates/wagtailpages/blocks/wagtail_video_block.html @@ -14,7 +14,7 @@ {% for source in value.sources %} {% endfor %}