You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
2.1 KiB
53 lines
2.1 KiB
from rest_framework import serializers
|
|
|
|
from apps.config.models import Config
|
|
|
|
|
|
class ConfigSerializer(serializers.ModelSerializer):
|
|
SERVICE_INSTAGRAM_URL = serializers.URLField(required=False)
|
|
SERVICE_TWITTER_URL = serializers.URLField(required=False)
|
|
SERVICE_FB_URL = serializers.URLField(required=False)
|
|
SERVICE_YOUTUBE_URL = serializers.URLField(required=False)
|
|
SERVICE_COMMISSION = serializers.IntegerField(required=False)
|
|
SERVICE_DISCOUNT_MIN_AMOUNT = serializers.IntegerField(required=False)
|
|
SERVICE_DISCOUNT = serializers.IntegerField(required=False)
|
|
INSTAGRAM_CLIENT_ACCESS_TOKEN = serializers.CharField(required=False)
|
|
INSTAGRAM_CLIENT_SECRET = serializers.CharField(required=False)
|
|
INSTAGRAM_PROFILE_URL = serializers.CharField(required=False)
|
|
SCHOOL_LOGO_IMAGE = serializers.SerializerMethodField()
|
|
MAIN_PAGE_TOP_IMAGE = serializers.SerializerMethodField()
|
|
# SCHOOL_LOGO_IMAGE = serializers.ImageField(required=False, allow_null=True)
|
|
# MAIN_PAGE_TOP_IMAGE = serializers.ImageField(required=False, allow_null=True)
|
|
|
|
class Meta:
|
|
model = Config
|
|
fields = (
|
|
'SERVICE_INSTAGRAM_URL',
|
|
'SERVICE_TWITTER_URL',
|
|
'SERVICE_FB_URL',
|
|
'SERVICE_YOUTUBE_URL',
|
|
'SERVICE_COMMISSION',
|
|
'SERVICE_DISCOUNT_MIN_AMOUNT',
|
|
'SERVICE_DISCOUNT',
|
|
'INSTAGRAM_CLIENT_ACCESS_TOKEN',
|
|
'INSTAGRAM_CLIENT_SECRET',
|
|
'INSTAGRAM_PROFILE_URL',
|
|
'SCHOOL_LOGO_IMAGE',
|
|
'MAIN_PAGE_TOP_IMAGE',
|
|
)
|
|
|
|
def get_SCHOOL_LOGO_IMAGE(self, config):
|
|
request = self.context.get('request')
|
|
if config.SCHOOL_LOGO_IMAGE:
|
|
SCHOOL_LOGO_IMAGE_url = config.SCHOOL_LOGO_IMAGE.url
|
|
return request.build_absolute_uri(SCHOOL_LOGO_IMAGE_url)
|
|
else:
|
|
return None
|
|
|
|
def get_MAIN_PAGE_TOP_IMAGE(self, config):
|
|
request = self.context.get('request')
|
|
if config.MAIN_PAGE_TOP_IMAGE:
|
|
MAIN_PAGE_TOP_IMAGE_url = config.MAIN_PAGE_TOP_IMAGE.url
|
|
return request.build_absolute_uri(MAIN_PAGE_TOP_IMAGE_url)
|
|
else:
|
|
return None
|
|
|