From 3b15b01b8fa6c2820dd3bd6801db6a56a8bd1fae Mon Sep 17 00:00:00 2001 From: mortezaei Date: Wed, 21 May 2025 10:57:31 +0330 Subject: [PATCH] fix: course price --- apps/course/serializers/course.py | 11 ++++++++++- apps/course/serializers/lesson.py | 2 +- utils/__init__.py | 4 ++-- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/apps/course/serializers/course.py b/apps/course/serializers/course.py index 09d5308..e1e8958 100644 --- a/apps/course/serializers/course.py +++ b/apps/course/serializers/course.py @@ -27,7 +27,8 @@ class CourseListSerializer(serializers.ModelSerializer): price = serializers.SerializerMethodField() discount_percentage = serializers.SerializerMethodField() final_price = serializers.SerializerMethodField() - + is_free = serializers.SerializerMethodField() + class Meta: model = Course fields = [ @@ -75,6 +76,9 @@ class CourseListSerializer(serializers.ModelSerializer): return "0.00" return str(obj.final_price) + def get_is_free(self, obj): + return obj.is_free or obj.price == 0 + class CourseDetailSerializer(serializers.ModelSerializer): category = CourseCategorySerializer() @@ -90,6 +94,8 @@ class CourseDetailSerializer(serializers.ModelSerializer): price = serializers.SerializerMethodField() discount_percentage = serializers.SerializerMethodField() final_price = serializers.SerializerMethodField() + is_free = serializers.SerializerMethodField() + class Meta: model = Course fields = [ @@ -232,6 +238,9 @@ class CourseDetailSerializer(serializers.ModelSerializer): if obj.is_free or obj.price == 0: return "0.00" return str(obj.final_price) + def get_is_free(self, obj): + return obj.is_free or obj.price == 0 + class MyCourseListSerializer(serializers.ModelSerializer): diff --git a/apps/course/serializers/lesson.py b/apps/course/serializers/lesson.py index 50fd1df..133f5a7 100644 --- a/apps/course/serializers/lesson.py +++ b/apps/course/serializers/lesson.py @@ -58,7 +58,7 @@ class CourseLessonSerializer(serializers.ModelSerializer): def get_quizs(self, obj): # Assuming the related_name for quizzes is now on CourseLesson - print(f'--> type:{type(obj)} obj:{obj.lesson.quizzes.all()}') + # print(f'--> type:{type(obj)} obj:{obj.lesson.quizzes.all()}') quizzes = obj.lesson.quizzes.all() if hasattr(obj.lesson, 'quizzes') else [] if quizzes: return QuizListSerializer(quizzes, many=True, context=self.context).data diff --git a/utils/__init__.py b/utils/__init__.py index 420f9ee..6a22de4 100644 --- a/utils/__init__.py +++ b/utils/__init__.py @@ -37,7 +37,7 @@ def qs_thumbs(): def get_thumbs(obj, request: HttpRequest = None) -> dict: - print(f'----> {obj}') + # print(f'----> {obj}') if not obj: return {} @@ -46,7 +46,7 @@ def get_thumbs(obj, request: HttpRequest = None) -> dict: thumbnail_object = {} thumbs = qs_thumbs() - print(f'--> {thumbs}') + # print(f'--> {thumbs}') # بررسی نوع فیلد و استفاده از روش مناسب if hasattr(obj, 'easy_thumbnails_thumbnailer'):