Exemple #1
0
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
Exemple #2
0
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()
Exemple #3
0
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()
Exemple #10
0
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()
Exemple #12
0
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()
Exemple #13
0
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()
Exemple #14
0
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)
Exemple #15
0
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)
Exemple #16
0
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
Exemple #17
0
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)
Exemple #20
0
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)
Exemple #21
0
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
Exemple #22
0
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
Exemple #23
0
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
Exemple #24
0
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
Exemple #27
0
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()
Exemple #30
0
 class TestSerializer(Serializer):
     hero_text_en_gb = fields.MarkdownToHTMLField()