diff --git a/network-api/networkapi/mozfest/customblocks/card_block.py b/network-api/networkapi/mozfest/customblocks/card_block.py index 7b2129bd65f..90703b2871e 100644 --- a/network-api/networkapi/mozfest/customblocks/card_block.py +++ b/network-api/networkapi/mozfest/customblocks/card_block.py @@ -2,7 +2,7 @@ from wagtail.images.blocks import ImageChooserBlock """ -The following card and grid defunctions are specifically for Mozfest. +The following card and grid definitions are specifically for Mozfest. They are based on wagtailpages.pagemodels.customblocks.card_grid.py but have been modified to fit the Mozfest design. """ @@ -29,9 +29,10 @@ class MozfestCardGrid(blocks.StructBlock): class MozfestCardGridBlock(blocks.StructBlock): + heading = blocks.CharBlock(help_text="Heading for the block.") cards = blocks.ListBlock(MozfestCardGrid(), help_text="Please use a minimum of 2 cards.") class Meta: icon = "placeholder" template = "fragments/blocks/mozfest_card_grid_block.html" - label = "Mozfest Card Grid Block" + label = "Mozfest Card Grid" diff --git a/network-api/networkapi/mozfest/factory.py b/network-api/networkapi/mozfest/factory.py index a1854fc8b75..68ae099e6e8 100644 --- a/network-api/networkapi/mozfest/factory.py +++ b/network-api/networkapi/mozfest/factory.py @@ -10,7 +10,7 @@ from networkapi.wagtailpages.factory.image_factory import ImageFactory from networkapi.wagtailpages.factory.signup import SignupFactory -streamfield_fields = ["paragraph", "image", "spacer", "quote"] +streamfield_fields = ["paragraph", "image", "spacer", "quote", "mozfest_card_grid"] Faker.add_provider(StreamfieldProvider) is_review_app = False diff --git a/network-api/networkapi/mozfest/migrations/0031_alter_mozfestprimarypage_body.py b/network-api/networkapi/mozfest/migrations/0031_alter_mozfestprimarypage_body.py index b195a42393b..02e001ad6fd 100644 --- a/network-api/networkapi/mozfest/migrations/0031_alter_mozfestprimarypage_body.py +++ b/network-api/networkapi/mozfest/migrations/0031_alter_mozfestprimarypage_body.py @@ -1,4 +1,4 @@ -# Generated by Django 3.2.23 on 2023-12-11 15:41 +# Generated by Django 3.2.23 on 2023-12-11 16:31 import wagtail.blocks import wagtail.blocks.static_block @@ -62,12 +62,7 @@ class Migration(migrations.Migration): ), ), ("title", wagtail.blocks.CharBlock(help_text="Heading for the card.")), - ( - "body", - wagtail.blocks.TextBlock( - help_text="Body text of the card.", required=False - ), - ), + ("body", wagtail.blocks.TextBlock(help_text="Body text of the card.")), ( "link_url", wagtail.blocks.CharBlock( @@ -1613,6 +1608,52 @@ class Migration(migrations.Migration): [("signup", wagtail.snippets.blocks.SnippetChooserBlock("wagtailpages.Signup"))] ), ), + ( + "mozfest_card_grid", + wagtail.blocks.StructBlock( + [ + ("heading", wagtail.blocks.CharBlock(help_text="Heading for the block.")), + ( + "cards", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ("image", wagtail.images.blocks.ImageChooserBlock()), + ( + "alt_text", + wagtail.blocks.CharBlock( + help_text="Alt text for card's image.", required=False + ), + ), + ("title", wagtail.blocks.CharBlock(help_text="Heading for the card.")), + ( + "body", + wagtail.blocks.TextBlock( + help_text="Body text of the card.", required=False + ), + ), + ( + "link_url", + wagtail.blocks.CharBlock( + help_text="Optional URL that this card should link out to. (Note: If left blank, link will not render.) ", + required=False, + ), + ), + ( + "link_label", + wagtail.blocks.CharBlock( + help_text="Optional Label for the URL link above. (Note: If left blank, link will not render.) ", + required=False, + ), + ), + ] + ), + help_text="Please use a minimum of 2 cards.", + ), + ), + ] + ), + ), ], use_json_field=True, ), diff --git a/network-api/networkapi/mozfest/models.py b/network-api/networkapi/mozfest/models.py index 47996330f5b..a642250e260 100644 --- a/network-api/networkapi/mozfest/models.py +++ b/network-api/networkapi/mozfest/models.py @@ -52,7 +52,7 @@ class MozfestPrimaryPage(FoundationMetadataPageMixin, FoundationBannerInheritanc ("tito_widget", customblocks.TitoWidgetBlock()), ("tabbed_profile_directory", customblocks.TabbedProfileDirectory()), ("newsletter_signup", customblocks.NewsletterSignupBlock()), - ("card_grid", mozfest_blocks.MozfestCardGridBlock()), + ("mozfest_card_grid", mozfest_blocks.MozfestCardGridBlock()), ], use_json_field=True, ) diff --git a/network-api/networkapi/mozfest/templates/fragments/blocks/mozfest_card_grid_block.html b/network-api/networkapi/mozfest/templates/fragments/blocks/mozfest_card_grid_block.html index 63ebdb459a3..55356555b15 100644 --- a/network-api/networkapi/mozfest/templates/fragments/blocks/mozfest_card_grid_block.html +++ b/network-api/networkapi/mozfest/templates/fragments/blocks/mozfest_card_grid_block.html @@ -2,6 +2,7 @@ {% load wagtailcore_tags wagtailimages_tags %} {% block block_content %} +