"""Main app serializers.""" from rest_framework import serializers from location.serializers import CountrySerializer from main import models class FeatureSerializer(serializers.ModelSerializer): """Feature serializer.""" class Meta: """Meta class.""" model = models.Feature fields = ( 'id', 'slug', ) class SiteFeatureSerializer(serializers.ModelSerializer): id = serializers.IntegerField(source='feature.id') slug = serializers.CharField(source='feature.slug') class Meta: """Meta class.""" model = models.SiteFeature fields = ('main', 'id', 'slug') class SiteSettingsSerializer(serializers.ModelSerializer): """Site settings serializer.""" published_features = SiteFeatureSerializer(source='published_sitefeatures', many=True, allow_null=True) #todo: remove this country_code = serializers.CharField(source='subdomain', read_only=True) class Meta: """Meta class.""" model = models.SiteSettings fields = ( 'country_code', 'subdomain', 'pinterest_page_url', 'twitter_page_url', 'facebook_page_url', 'instagram_page_url', 'contact_email', 'config', 'ad_config', 'published_features', ) class SiteSerializer(serializers.ModelSerializer): country = CountrySerializer() class Meta: """Meta class.""" model = models.SiteSettings fields = ('subdomain', 'site_url', 'country') # class SiteFeatureSerializer(serializers.ModelSerializer): # """Site feature serializer.""" # # class Meta: # """Meta class.""" # # model = models.SiteFeature # fields = ( # 'id', # 'published', # 'site_settings', # 'feature', # ) class AwardSerializer(serializers.ModelSerializer): """Award serializer.""" title_translated = serializers.CharField(read_only=True, allow_null=True) class Meta: model = models.Award fields = [ 'id', 'title_translated', 'award_type', 'vintage_year', ] class MetaDataContentSerializer(serializers.ModelSerializer): id = serializers.IntegerField(source='metadata.id', read_only=True,) label_translated = serializers.CharField( source='metadata.label_translated', read_only=True, allow_null=True) class Meta: model = models.MetaDataContent fields = [ 'id', 'label_translated', ] class CurrencySerializer(serializers.ModelSerializer): """Currency serializer""" class Meta: model = models.Currency fields = [ 'id', 'name' ]