Browse Source

course categories default icon returning fixed

master
Mohsen Taba 1 month ago
parent
commit
e2b9fe923e
  1. 1
      apps/course/models/course.py
  2. 8
      apps/course/serializers/admin.py
  3. 12
      apps/course/serializers/course.py

1
apps/course/models/course.py

@ -2,6 +2,7 @@ import os
from decimal import Decimal
import math
from django.db import models
from django.conf import settings
from django.db.models import TextChoices
from django.utils.text import slugify
from django.utils.translation import gettext_lazy as _

8
apps/course/serializers/admin.py

@ -110,6 +110,14 @@ class AdminCourseCategorySerializer(serializers.ModelSerializer):
lang = get_request_lang(self)
ret['name'] = get_localized_field(lang, instance.name)
ret['slug'] = get_localized_field(lang, instance.slug)
icon = ret.get('icon')
if icon and icon.startswith('/'):
request = self.context.get('request')
if request:
ret['icon'] = request.build_absolute_uri(icon)
else:
from django.conf import settings
ret['icon'] = f"{settings.SITE_DOMAIN}{icon}"
return ret
class AdminCourseListSerializer(serializers.ModelSerializer):

12
apps/course/serializers/course.py

@ -59,6 +59,18 @@ class CourseCategorySerializer(serializers.ModelSerializer):
def get_course_count(self, obj):
return obj.course_count
def to_representation(self, instance):
ret = super().to_representation(instance)
icon = ret.get('icon')
if icon and icon.startswith('/'):
request = self.context.get('request')
if request:
ret['icon'] = request.build_absolute_uri(icon)
else:
from django.conf import settings
ret['icon'] = f"{settings.SITE_DOMAIN}{icon}"
return ret
class CourseListSerializer(serializers.ModelSerializer):
category = CourseCategorySerializer()

Loading…
Cancel
Save