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 from decimal import Decimal
import math import math
from django.db import models from django.db import models
from django.conf import settings
from django.db.models import TextChoices from django.db.models import TextChoices
from django.utils.text import slugify from django.utils.text import slugify
from django.utils.translation import gettext_lazy as _ 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) lang = get_request_lang(self)
ret['name'] = get_localized_field(lang, instance.name) ret['name'] = get_localized_field(lang, instance.name)
ret['slug'] = get_localized_field(lang, instance.slug) 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 return ret
class AdminCourseListSerializer(serializers.ModelSerializer): class AdminCourseListSerializer(serializers.ModelSerializer):

12
apps/course/serializers/course.py

@ -59,6 +59,18 @@ class CourseCategorySerializer(serializers.ModelSerializer):
def get_course_count(self, obj): def get_course_count(self, obj):
return obj.course_count 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): class CourseListSerializer(serializers.ModelSerializer):
category = CourseCategorySerializer() category = CourseCategorySerializer()

Loading…
Cancel
Save