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.
 
 
 
 
 
 

77 lines
3.1 KiB

from urllib.parse import urlparse, urlunparse
from rest_framework import serializers
from django.conf import settings
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_OK_URL = serializers.URLField(required=False)
SERVICE_VK_URL = serializers.URLField(required=False)
SERVICE_TELEGRAM_CHANNEL = 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)
REFERRER_BONUS = serializers.IntegerField()
REFERRAL_BONUS = serializers.IntegerField()
MAIN_PAGE_VIDEO_URL = serializers.CharField(required=False)
MAIN_PAGE_VIDEO_PREVIEW_IMG = serializers.SerializerMethodField()
NUMBER_OF_STUDENTS = serializers.IntegerField()
NUMBER_OF_COUNTRIES = serializers.IntegerField()
NUMBER_OF_CITIES = serializers.IntegerField()
class Meta:
model = Config
fields = (
'SERVICE_INSTAGRAM_URL',
'SERVICE_TWITTER_URL',
'SERVICE_FB_URL',
'SERVICE_OK_URL',
'SERVICE_VK_URL',
'SERVICE_YOUTUBE_URL',
'SERVICE_TELEGRAM_CHANNEL',
'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',
'REFERRER_BONUS',
'REFERRAL_BONUS',
'MAIN_PAGE_VIDEO_URL',
'MAIN_PAGE_VIDEO_PREVIEW_IMG',
'NUMBER_OF_STUDENTS',
'NUMBER_OF_COUNTRIES',
'NUMBER_OF_CITIES',
)
def get_SCHOOL_LOGO_IMAGE(self, config):
if config.SCHOOL_LOGO_IMAGE:
return 'http://' + settings.MAIN_HOST + config.SCHOOL_LOGO_IMAGE.url
else:
return None
def get_MAIN_PAGE_TOP_IMAGE(self, config):
if config.MAIN_PAGE_TOP_IMAGE:
return 'http://' + settings.MAIN_HOST + config.MAIN_PAGE_TOP_IMAGE.url
else:
return None
def get_MAIN_PAGE_VIDEO_PREVIEW_IMG(self, config):
if config.MAIN_PAGE_VIDEO_PREVIEW_IMG:
return 'http://' + settings.MAIN_HOST + config.MAIN_PAGE_VIDEO_PREVIEW_IMG.url
else:
return None