class AboutDitServicesPageSerializer(BasePageSerializer, HeroSerializer): breadcrumbs_label = serializers.CharField() hero_title = serializers.CharField() featured_description = serializers.CharField() teaser = core_fields.MarkdownToHTMLField() ebook_section_image = wagtail_fields.ImageRenditionField('fill-299x423') ebook_section_image_alt_text = serializers.CharField() ebook_section_body = core_fields.MarkdownToHTMLField() ebook_section_cta_text = serializers.CharField() ebook_section_cta_link = serializers.CharField() case_study_image = wagtail_fields.ImageRenditionField('original') case_study_title = serializers.CharField() case_study_text = serializers.CharField() case_study_cta_text = serializers.CharField() case_study_cta_link = serializers.CharField() contact_us_section_title = serializers.CharField() contact_us_section_summary = core_fields.MarkdownToHTMLField() contact_us_section_cta_text = serializers.CharField() contact_us_section_cta_link = serializers.CharField() about_dit_services_fields = serializers.SerializerMethodField() def get_about_dit_services_fields(self, instance): serializer = AboutDitServiceFieldSerializer( instance.about_dit_services_fields.all(), many=True, allow_null=True, context=self.context) return serializer.data
class InternationalTradeIndustryContactPageSerializer(BasePageSerializer): breadcrumbs_label = serializers.CharField() breadcrumbs = core_fields.BreadcrumbsField( service_name=cms.FIND_A_SUPPLIER) introduction_text = core_fields.MarkdownToHTMLField() submit_button_text = serializers.CharField() success_message_text = core_fields.MarkdownToHTMLField() success_back_link_text = serializers.CharField()
class InternationalTradeHomePageSerializer(BasePageSerializer): hero_image = wagtail_fields.ImageRenditionField('original') mobile_hero_image = wagtail_fields.ImageRenditionField('original') hero_image_caption = serializers.CharField() breadcrumbs_label = serializers.CharField() breadcrumbs = core_fields.BreadcrumbsField( service_name=cms.FIND_A_SUPPLIER) hero_text = core_fields.MarkdownToHTMLField() search_field_placeholder = serializers.CharField() search_button_text = serializers.CharField() proposition_text = core_fields.MarkdownToHTMLField() call_to_action_text = serializers.CharField() industries_list_text = core_fields.MarkdownToHTMLField() industries_list_call_to_action_text = serializers.CharField() services_list_text = core_fields.MarkdownToHTMLField() services_column_one = core_fields.MarkdownToHTMLField() services_column_two = core_fields.MarkdownToHTMLField() services_column_three = core_fields.MarkdownToHTMLField() services_column_four = core_fields.MarkdownToHTMLField() services_column_one_icon = wagtail_fields.ImageRenditionField('original') services_column_two_icon = wagtail_fields.ImageRenditionField('original') services_column_three_icon = wagtail_fields.ImageRenditionField('original') services_column_four_icon = wagtail_fields.ImageRenditionField('original') how_we_help_cta_text = serializers.CharField(max_length=255) how_we_help_cta_link = serializers.CharField(max_length=255) industries = serializers.SerializerMethodField() def get_industries(self, instance): queryset = InternationalInvestmentSectorPage.objects.filter( live=True).order_by('slug')[:3] serializer = InternationalInvestmentSectorPageSerializer( queryset, many=True, allow_null=True, context=self.context) return serializer.data
class HomePageSerializer(BasePageSerializer): news_title = serializers.CharField( max_length=255, allow_null=True, ) news_description = core_fields.MarkdownToHTMLField() articles = serializers.SerializerMethodField() advice = serializers.SerializerMethodField() banner_content = core_fields.MarkdownToHTMLField(allow_null=True) banner_label = serializers.CharField(max_length=50, allow_null=True) def get_articles(self, obj): try: article_listing_page = ArticleListingPage.objects.get( slug=settings.EU_EXIT_NEWS_LISTING_PAGE_SLUG) queryset = ( ArticlePage.objects.descendant_of(article_listing_page).live()) except ArticleListingPage.DoesNotExist: queryset = None serializer = ArticlePageSerializer(queryset, many=True, allow_null=True, context=self.context) return serializer.data def get_advice(self, obj): try: topic_landing_page = TopicLandingPage.objects.get( slug=slugs.GREAT_ADVICE) queryset = (ArticleListingPage.objects.descendant_of( topic_landing_page).live()) except TopicLandingPage.DoesNotExist: queryset = None serializer = ArticleListingPageSerializer(queryset, many=True, allow_null=True, context=self.context) return serializer.data def get_page_type(self, obj): """ Overrides BasePageSerializer.get_page_type() so that `page_type` is the same whether serialising an `HomePage` or `HomePageOld` instance. This will prevent front-ends from falling over while still requesting the old page. """ return 'HomePage'
class InternationalHomePageSerializer(PageWithRelatedPagesSerializer): news_title = serializers.CharField(max_length=255) tariffs_title = serializers.CharField(max_length=255) tariffs_description = core_fields.MarkdownToHTMLField() tariffs_link = serializers.URLField() tariffs_image = wagtail_fields.ImageRenditionField( 'fill-640x360|jpegquality-60|format-jpeg')
class FeatureSerializer(serializers.Serializer): heading = serializers.CharField() content = core_fields.MarkdownToHTMLField() image = wagtail_fields.ImageRenditionField('original') image_thumbnail = wagtail_fields.ImageRenditionField( 'fill-640x360|jpegquality-60|format-jpeg', source='image') url = serializers.CharField()
class HomePageSerializer(BasePageSerializer): news_title = serializers.CharField( max_length=255, allow_null=True, ) news_description = core_fields.MarkdownToHTMLField() articles = serializers.SerializerMethodField() advice = serializers.SerializerMethodField() def get_articles(self, obj): queryset = None slug = settings.EU_EXIT_NEWS_LISTING_PAGE_SLUG if ArticleListingPage.objects.filter(slug=slug).exists(): queryset = ArticleListingPage.objects.get( slug=slug).get_descendants().type( ArticlePage).live().specific() serializer = ArticlePageSerializer(queryset, many=True, allow_null=True, context=self.context) return serializer.data def get_advice(self, obj): queryset = None if TopicLandingPage.objects.filter( slug=cms.EXPORT_READINESS_ADVICE_SLUG).exists(): queryset = TopicLandingPage.objects.get( slug=cms.EXPORT_READINESS_ADVICE_SLUG).get_descendants().type( ArticleListingPage).live().specific() serializer = ArticleListingPageSerializer(queryset, many=True, allow_null=True, context=self.context) return serializer.data
class InternationalGuideLandingPageSerializer(BasePageSerializer): display_title = serializers.CharField() hero_image = wagtail_fields.ImageRenditionField('original') hero_image_thumbnail = wagtail_fields.ImageRenditionField( 'fill-640x360|jpegquality-60|format-jpeg', source='hero_image') teaser = serializers.CharField() section_one_content = core_fields.MarkdownToHTMLField() section_one_image = wagtail_fields.ImageRenditionField('original') section_one_image_thumbnail = wagtail_fields.ImageRenditionField( 'fill-640x360|jpegquality-60|format-jpeg', source='section_one_image') section_one_image_caption = serializers.CharField() section_two_heading = serializers.CharField() section_two_teaser = serializers.CharField() section_two_button_text = serializers.CharField() section_two_button_url = serializers.CharField() section_two_image = wagtail_fields.ImageRenditionField('original') section_two_image_thumbnail = wagtail_fields.ImageRenditionField( 'fill-640x360|jpegquality-60|format-jpeg', source='section_two_image') guides_section_heading = serializers.CharField() guides = serializers.SerializerMethodField() def get_guides(self, obj): article_list = (obj.get_descendants().type( InternationalArticlePage).live().specific())[:9] serializer = RelatedArticlePageSerializer(article_list, many=True) return serializer.data
class InternationalArticlePageSerializer(PageWithRelatedPagesSerializer): article_title = serializers.CharField(max_length=255) display_title = serializers.CharField(source='article_title') article_teaser = serializers.CharField(max_length=255) article_image = wagtail_fields.ImageRenditionField('original') article_image_thumbnail = wagtail_fields.ImageRenditionField( 'fill-640x360|jpegquality-60|format-jpeg', source='article_image') article_body_text = core_fields.MarkdownToHTMLField()
class IndustryContactPageSerializer(BasePageSerializer): breadcrumbs_label = serializers.CharField() breadcrumbs = core_fields.BreadcrumbsField( service_name=cms.FIND_A_SUPPLIER) introduction_text = core_fields.MarkdownToHTMLField() submit_button_text = serializers.CharField() success_message_text = core_fields.MarkdownToHTMLField() success_back_link_text = serializers.CharField() industry_options = serializers.SerializerMethodField() def get_industry_options(self, instance): queryset = IndustryPage.objects.filter(live=True) serializer = IndustryPageSerializer(queryset, many=True, allow_null=True, context=self.context) return serializer.data
class ArticlePageSerializer(PageWithRelatedPagesSerializer): article_title = serializers.CharField(max_length=255) display_title = serializers.CharField(source='article_title') article_teaser = serializers.CharField(max_length=255) article_image = wagtail_fields.ImageRenditionField('original') article_image_thumbnail = wagtail_fields.ImageRenditionField( 'fill-640x360', source='article_image') article_body_text = core_fields.MarkdownToHTMLField() tags = core_fields.TagsListField()
class InvestmentGeneralContentPageSerializer( BasePageSerializer, HeroSerializer, ): IMAGE_RENDITION_SPEC = "fill-960x540" # title comes from BasePageSerializer # hero_image comes from HeroSerializer strapline = serializers.CharField() introduction = core_fields.MarkdownToHTMLField() intro_image = wagtail_fields.ImageRenditionField(IMAGE_RENDITION_SPEC) hero_video = GreatMediaSerializer() main_content = StreamFieldSerializer()
class WhyInvestInTheUKPageSerializer( BasePageSerializer, HeroSerializer, ): IMAGE_RENDITION_SPEC = "fill-960x540" hero_video = GreatMediaSerializer() strapline = serializers.CharField() introduction = core_fields.MarkdownToHTMLField() intro_image = wagtail_fields.ImageRenditionField(IMAGE_RENDITION_SPEC) uk_strength_title = serializers.CharField() uk_strength_intro = serializers.CharField() uk_strength_panels = StreamFieldSerializer()
class AboutUkRegionListingPageSerializer(PageWithRelatedPagesSerializer, HeroSerializer): breadcrumbs_label = serializers.CharField() hero_title = serializers.CharField() hero_video = GreatMediaSerializer() intro = core_fields.MarkdownToHTMLField() contact_title = serializers.CharField() contact_text = core_fields.MarkdownToHTMLField() contact_cta_text = serializers.CharField() contact_cta_link = serializers.CharField() mapped_regions = serializers.SerializerMethodField() def get_mapped_regions(self, instance): queryset = AboutUkRegionPage.objects.live().public() if not queryset: return [] return get_mapped_regions(queryset)
class IndustryArticlePageSerializer(BasePageSerializer): breadcrumbs_label = serializers.CharField() introduction_title = serializers.CharField() body = core_fields.MarkdownToHTMLField() author_name = serializers.CharField() job_title = serializers.CharField() proposition_text = serializers.CharField() call_to_action_text = serializers.CharField() show_table_of_content = serializers.BooleanField() back_to_home_link_text = serializers.CharField() social_share_title = serializers.CharField() date = serializers.DateField() breadcrumbs = core_fields.BreadcrumbsField( service_name=cms.FIND_A_SUPPLIER)
class CountryGuidePageSerializer(PageWithRelatedPagesSerializer): hero_image = wagtail_fields.ImageRenditionField('original') heading = serializers.CharField(max_length=255) sub_heading = serializers.CharField(max_length=255) heading_teaser = serializers.CharField() hero_image = wagtail_fields.ImageRenditionField('original') section_one_body = core_fields.MarkdownToHTMLField() section_one_image = wagtail_fields.ImageRenditionField('fill-640x360') section_one_image_caption = serializers.CharField(max_length=255) section_one_image_caption_company = serializers.CharField(max_length=255) section_two_heading = serializers.CharField(max_length=255) section_two_teaser = serializers.CharField() statistics = serializers.SerializerMethodField() accordions = serializers.SerializerMethodField() fact_sheet = serializers.SerializerMethodField() help_market_guide_cta_link = serializers.CharField(max_length=255) def get_fact_sheet(self, instance): data = { 'fact_sheet_title': instance.fact_sheet_title, 'fact_sheet_teaser': instance.fact_sheet_teaser, 'columns': [ FactSheetColumnProxyDataWrapper(instance=instance, position_number=num) for num in ['1', '2'] ] } return FactSheetSerializer(data).data def get_statistics(self, instance): data = [ StatisticProxyDataWrapper(instance=instance, position_number=num) for num in ['1', '2', '3', '4', '5', '6'] ] serializer = StatisticSerializer(data, many=True) return serializer.data def get_accordions(self, instance): data = [ AccordionProxyDataWrapper(instance=instance, position_number=num) for num in ['1', '2', '3', '4', '5', '6'] ] serializer = AccordionSerializer(data, many=True) return serializer.data
class IndustryPageSerializer(BasePageSerializer): hero_image = wagtail_fields.ImageRenditionField('original') mobile_hero_image = wagtail_fields.ImageRenditionField('original') hero_image_caption = serializers.CharField() summary_image = wagtail_fields.ImageRenditionField('original') hero_text = core_fields.MarkdownToHTMLField() introduction_text = serializers.CharField() introduction_call_to_action_button_text = serializers.CharField() introduction_title = serializers.CharField() introduction_column_one_text = core_fields.MarkdownToHTMLField() introduction_column_two_text = core_fields.MarkdownToHTMLField() introduction_column_three_text = core_fields.MarkdownToHTMLField() introduction_column_one_icon = wagtail_fields.ImageRenditionField( 'original') introduction_column_two_icon = wagtail_fields.ImageRenditionField( 'original') introduction_column_three_icon = wagtail_fields.ImageRenditionField( 'original') breadcrumbs_label = serializers.CharField() breadcrumbs = core_fields.BreadcrumbsField( service_name=cms.FIND_A_SUPPLIER) search_filter_sector = serializers.ListField() search_filter_text = serializers.CharField() search_filter_showcase_only = serializers.BooleanField() company_list_text = core_fields.MarkdownToHTMLField() company_list_search_input_placeholder_text = serializers.CharField() company_list_call_to_action_text = serializers.CharField() show_on_homepage = serializers.BooleanField() show_on_industries_showcase_page = serializers.BooleanField() article_summaries = serializers.SerializerMethodField() def get_article_summaries(self, instance): serializer = ArticleSummarySerializer(instance.article_summaries.all(), many=True, allow_null=True, context=self.context) return serializer.data
class InternationalArticleListingPageSerializer(BasePageSerializer): landing_page_title = serializers.CharField(max_length=255) display_title = serializers.CharField(source='landing_page_title') hero_image = wagtail_fields.ImageRenditionField('original') hero_image_thumbnail = wagtail_fields.ImageRenditionField( 'fill-640x360|jpegquality-60|format-jpeg', source='hero_image') articles_count = serializers.IntegerField() list_teaser = core_fields.MarkdownToHTMLField(allow_null=True) hero_teaser = serializers.CharField(allow_null=True) child_pages = serializers.SerializerMethodField() localised_child_pages = serializers.SerializerMethodField() def get_localised_child_pages(self, obj): data = [] if 'region' in self.context: slug = f'{obj.slug}-{self.context["region"]}' folder = InternationalLocalisedFolderPage.objects.filter(slug=slug) if folder.exists(): articles_queryset = folder[0].get_descendants().type( InternationalArticlePage).live().specific() articles = RelatedArticlePageSerializer(articles_queryset, many=True, allow_null=True, context=self.context) campaigns_queryset = folder[0].get_descendants().type( InternationalCampaignPage).live().specific() campaigns = RelatedCampaignPageSerializer(campaigns_queryset, many=True, allow_null=True, context=self.context) data = articles.data + campaigns.data return data def get_child_pages(self, obj): articles_queryset = obj.get_descendants().type( InternationalArticlePage).live().specific() articles = RelatedArticlePageSerializer(articles_queryset, many=True, allow_null=True, context=self.context) campaigns_queryset = obj.get_descendants().type( InternationalCampaignPage).live().specific() campaigns = RelatedCampaignPageSerializer(campaigns_queryset, many=True, allow_null=True, context=self.context) return articles.data + campaigns.data
class ArticleListingPageSerializer(BasePageSerializer, ChildPagesSerializerHelper): landing_page_title = serializers.CharField(max_length=255) display_title = serializers.CharField(source='landing_page_title') hero_image = wagtail_fields.ImageRenditionField('original') hero_image_thumbnail = wagtail_fields.ImageRenditionField( 'fill-640x360', source='hero_image') articles_count = serializers.IntegerField() list_teaser = core_fields.MarkdownToHTMLField(allow_null=True) hero_teaser = serializers.CharField(allow_null=True) articles = serializers.SerializerMethodField() def get_articles(self, obj): return self.get_child_pages_data_for(obj, ArticlePage, ArticlePageSerializer)
class RegionPageSummarySerializer(EntitySummarySerializerBase, HeroSerializer): """Shorter version of AboutUkRegionPageSerializer for nesting content in InvestmentOpportunityPageSerializer results Note that HeroSerializer gives us a number hero image options """ IMAGE_RENDITION_SPEC = "fill-640x360" hero_title = serializers.CharField(max_length=255) featured_description = serializers.CharField(max_length=255) region_summary_section_image = wagtail_fields.ImageRenditionField( IMAGE_RENDITION_SPEC) region_summary_section_intro = serializers.CharField(max_length=255) region_summary_section_content = core_fields.MarkdownToHTMLField( max_length=255)
class InternationalArticleListingPageSerializer(BasePageSerializer, ChildPagesSerializerHelper, HeroSerializer): landing_page_title = serializers.CharField(max_length=255) display_title = serializers.CharField(source='landing_page_title') articles_count = serializers.IntegerField() list_teaser = core_fields.MarkdownToHTMLField(allow_null=True) hero_teaser = serializers.CharField(allow_null=True) child_pages = serializers.SerializerMethodField() def get_child_pages(self, obj): articles = self.get_child_pages_data_for(obj, InternationalArticlePage, RelatedArticlePageSerializer) campaigns = self.get_child_pages_data_for( obj, InternationalCampaignPage, RelatedCampaignPageSerializer) return articles + campaigns
class LandingPageSerializer(BasePageSerializer): hero_image = wagtail_fields.ImageRenditionField('original') mobile_hero_image = wagtail_fields.ImageRenditionField('original') hero_image_caption = serializers.CharField() breadcrumbs_label = serializers.CharField() breadcrumbs = core_fields.BreadcrumbsField( service_name=cms.FIND_A_SUPPLIER) hero_text = core_fields.MarkdownToHTMLField() search_field_placeholder = serializers.CharField() search_button_text = serializers.CharField() proposition_text = core_fields.MarkdownToHTMLField() call_to_action_text = serializers.CharField() industries_list_text = core_fields.MarkdownToHTMLField() industries_list_call_to_action_text = serializers.CharField() services_list_text = core_fields.MarkdownToHTMLField() services_column_one = core_fields.MarkdownToHTMLField() services_column_two = core_fields.MarkdownToHTMLField() services_column_three = core_fields.MarkdownToHTMLField() services_column_four = core_fields.MarkdownToHTMLField() services_column_one_icon = wagtail_fields.ImageRenditionField('original') services_column_two_icon = wagtail_fields.ImageRenditionField('original') services_column_three_icon = wagtail_fields.ImageRenditionField('original') services_column_four_icon = wagtail_fields.ImageRenditionField('original') article_summaries = serializers.SerializerMethodField() industries = serializers.SerializerMethodField() def get_article_summaries(self, instance): serializer = ArticleSummarySerializer(instance.article_summaries.all(), many=True, allow_null=True, context=self.context) return serializer.data def get_industries(self, instance): queryset = IndustryPage.objects.filter(show_on_homepage=True, live=True).order_by('slug')[:3] serializer = IndustryPageSerializer(queryset, many=True, allow_null=True, context=self.context) return serializer.data
class ArticleListingPageSerializer(BasePageSerializer): landing_page_title = serializers.CharField(max_length=255) display_title = serializers.CharField(source='landing_page_title') hero_image = wagtail_fields.ImageRenditionField('original') hero_image_thumbnail = wagtail_fields.ImageRenditionField( 'fill-640x360|jpegquality-60|format-jpeg', source='hero_image') articles_count = serializers.IntegerField() list_teaser = core_fields.MarkdownToHTMLField(allow_null=True) hero_teaser = serializers.CharField(allow_null=True) articles = serializers.SerializerMethodField() def get_articles(self, obj): queryset = obj.get_descendants().type(ArticlePage).live().specific() serializer = ArticlePageSerializer(queryset, many=True, allow_null=True, context=self.context) return serializer.data
class InternationalArticlePageSerializer(BasePageSerializer): type_of_article = serializers.CharField() display_title = serializers.CharField(source='article_title') article_title = serializers.CharField() article_teaser = serializers.CharField() article_subheading = serializers.CharField() article_image = wagtail_fields.ImageRenditionField('original') article_image_thumbnail = wagtail_fields.ImageRenditionField( 'fill-640x360', source='article_image') article_video = core_fields.VideoField() article_body_text = core_fields.MarkdownToHTMLField() cta_title = serializers.CharField() cta_teaser = serializers.CharField() cta_link_label = serializers.CharField() cta_link = serializers.CharField() tags = core_fields.TagsListField()
class GetFinancePageSerializer(BasePageSerializer): breadcrumbs_label = serializers.CharField() hero_text = core_fields.MarkdownToHTMLField() hero_image = wagtail_fields.ImageRenditionField('original') ukef_logo = wagtail_fields.ImageRenditionField('original') contact_proposition = core_fields.MarkdownToHTMLField() contact_button = serializers.CharField() advantages_title = serializers.CharField() advantages_one = core_fields.MarkdownToHTMLField() advantages_one_icon = wagtail_fields.ImageRenditionField('original') advantages_two = core_fields.MarkdownToHTMLField() advantages_two_icon = wagtail_fields.ImageRenditionField('original') advantages_three = core_fields.MarkdownToHTMLField() advantages_three_icon = wagtail_fields.ImageRenditionField('original') evidence = core_fields.MarkdownToHTMLField() evidence_video = core_fields.VideoField()
class TopicLandingPageSerializer(BasePageSerializer, ChildPagesSerializerHelper): landing_page_title = serializers.CharField(max_length=255) display_title = serializers.CharField(source='landing_page_title') hero_teaser = serializers.CharField(max_length=255) hero_image = wagtail_fields.ImageRenditionField('original') banner_text = core_fields.MarkdownToHTMLField() hero_image_thumbnail = wagtail_fields.ImageRenditionField( 'fill-640x360', source='hero_image') teaser = serializers.CharField() child_pages = serializers.SerializerMethodField() def get_child_pages(self, obj): articles = self.get_child_pages_data_for(obj, ArticleListingPage, ArticleListingPageSerializer) superregions = self.get_child_pages_data_for( obj, SuperregionPage, SuperregionPageSerializer) country_guides = self.get_child_pages_data_for( obj, CountryGuidePage, CountryGuidePageSerializer) country_guides = sorted(country_guides, key=lambda x: x['heading']) return articles + superregions + country_guides
class InternationalCampaignPageSerializer(PageWithRelatedPagesSerializer): campaign_heading = serializers.CharField(max_length=255) campaign_subheading = serializers.CharField(max_length=255) section_one_heading = serializers.CharField(max_length=255) campaign_hero_image = wagtail_fields.ImageRenditionField('original') section_one_intro = core_fields.MarkdownToHTMLField(allow_null=True) section_one_image = wagtail_fields.ImageRenditionField('fill-600x800') selling_point_one_icon = wagtail_fields.ImageRenditionField('original') selling_point_one_heading = serializers.CharField(max_length=255) selling_point_one_content = core_fields.MarkdownToHTMLField( allow_null=True) selling_point_two_icon = wagtail_fields.ImageRenditionField('original') selling_point_two_heading = serializers.CharField(max_length=255) selling_point_two_content = core_fields.MarkdownToHTMLField( allow_null=True) selling_point_three_icon = wagtail_fields.ImageRenditionField('original') selling_point_three_heading = serializers.CharField(max_length=255) selling_point_three_content = core_fields.MarkdownToHTMLField( allow_null=True) section_one_contact_button_url = serializers.CharField(max_length=255) section_one_contact_button_text = serializers.CharField(max_length=255) section_two_heading = serializers.CharField(max_length=255) section_two_intro = core_fields.MarkdownToHTMLField(allow_null=True) section_two_image = wagtail_fields.ImageRenditionField('fill-640x360') section_two_contact_button_url = serializers.CharField(max_length=255) section_two_contact_button_text = serializers.CharField(max_length=255) related_content_heading = serializers.CharField(max_length=255) related_content_intro = core_fields.MarkdownToHTMLField(allow_null=True) cta_box_message = serializers.CharField(max_length=255) cta_box_button_url = serializers.CharField(max_length=255) cta_box_button_text = serializers.CharField(max_length=255)
class CountryGuidePageSerializer(PageWithRelatedPagesSerializer): landing_page_title = serializers.CharField(max_length=255) display_title = serializers.CharField(source='landing_page_title') hero_image = wagtail_fields.ImageRenditionField('original') hero_image_thumbnail = wagtail_fields.ImageRenditionField( 'fill-640x360|jpegquality-60|format-jpeg', source='hero_image') articles_count = serializers.IntegerField() section_one_heading = serializers.CharField() section_one_content = core_fields.MarkdownToHTMLField() selling_point_one_icon = wagtail_fields.ImageRenditionField('original') selling_point_one_heading = serializers.CharField() selling_point_one_content = core_fields.MarkdownToHTMLField() selling_point_two_icon = wagtail_fields.ImageRenditionField('original') selling_point_two_heading = serializers.CharField() selling_point_two_content = core_fields.MarkdownToHTMLField() selling_point_three_icon = wagtail_fields.ImageRenditionField('original') selling_point_three_heading = serializers.CharField() selling_point_three_content = core_fields.MarkdownToHTMLField() section_two_heading = serializers.CharField() section_two_content = core_fields.MarkdownToHTMLField() related_content_heading = serializers.CharField() related_content_intro = core_fields.MarkdownToHTMLField() articles = serializers.SerializerMethodField() def get_articles(self, obj): queryset = obj.get_descendants().type( ArticlePage ).live().specific() serializer = ArticlePageSerializer( queryset, many=True, allow_null=True, context=self.context ) return serializer.data
class PerformanceDashboardPageSerializer(BasePageSerializer): heading = serializers.CharField() description = core_fields.MarkdownToHTMLField() product_link = serializers.URLField() data_title_row_one = serializers.CharField() data_number_row_one = serializers.CharField() data_period_row_one = serializers.CharField() data_description_row_one = core_fields.MarkdownToHTMLField() data_title_row_two = serializers.CharField() data_number_row_two = serializers.CharField() data_period_row_two = serializers.CharField() data_description_row_two = core_fields.MarkdownToHTMLField() data_title_row_three = serializers.CharField() data_number_row_three = serializers.CharField() data_period_row_three = serializers.CharField() data_description_row_three = core_fields.MarkdownToHTMLField() data_title_row_four = serializers.CharField() data_number_row_four = serializers.CharField() data_period_row_four = serializers.CharField() data_description_row_four = core_fields.MarkdownToHTMLField() guidance_notes = core_fields.MarkdownToHTMLField() landing_dashboard = serializers.BooleanField()
class TestSerializer(Serializer): hero_text_en_gb = fields.MarkdownToHTMLField()