Browse Source

fix course

master
nwhco 1 year ago
parent
commit
8016f53908
  1. 14
      apps/course/serializers/course.py
  2. 2
      apps/course/views/lesson.py
  3. 4
      docker-compose.prod.yml
  4. 4
      docker-compose.yml

14
apps/course/serializers/course.py

@ -3,6 +3,7 @@ from rest_framework import serializers
from dj_filer.admin import get_thumbs
from apps.course.models import Course, CourseCategory, Attachment, Glossary, LessonCompletion, Participant, Lesson
from apps.chat.models import RoomMessage
from apps.account.serializers import UserProfileSerializer
@ -68,6 +69,7 @@ class CourseDetailSerializer(serializers.ModelSerializer):
lessons_complated_count = serializers.SerializerMethodField()
lessons_count = serializers.SerializerMethodField()
last_lesson_id = serializers.SerializerMethodField()
room_id = serializers.SerializerMethodField()
class Meta:
model = Course
@ -97,9 +99,16 @@ class CourseDetailSerializer(serializers.ModelSerializer):
'final_price',
'timing',
'features',
'last_lesson_id'
'last_lesson_id',
'room_id'
]
def get_room_id(self, obj):
room_message = RoomMessage.objects.filter(course=obj).first()
if room_message:
return room_message.id
return None
def get_last_lesson_id(self, obj):
request = self.context.get('request')
if request and request.user.is_authenticated:
@ -118,8 +127,7 @@ class CourseDetailSerializer(serializers.ModelSerializer):
priority__gt=last_completed_lesson.lesson.priority,
is_active=True
).order_by('priority').first()
else:
# اگر هیچ درسی تکمیل نشده باشد، اولین درس را برگردان
if not next_lesson:
next_lesson = Lesson.objects.filter(
course=obj,
is_active=True

2
apps/course/views/lesson.py

@ -60,6 +60,7 @@ class LessonDetailView(RetrieveAPIView):
lesson_data['current_lesson_number'] = current_lesson_number
lesson_data['next_lesson_id'] = next_lesson_id
lesson_data['previous_lesson_id'] = previous_lesson_id
lesson_data['can_go_next'] = next_lesson is not None
@ -97,7 +98,6 @@ class LessonDetailView(RetrieveAPIView):
# lesson_data['next_lesson_id'] = next_lesson.id if next_lesson else None
# lesson_data['previous_lesson_id'] = previous_lesson.id if previous_lesson else None
# lesson_data['can_go_next'] = next_lesson is not None
return Response(lesson_data)

4
docker-compose.prod.yml

@ -11,7 +11,7 @@ services:
volumes:
- static_volume:/usr/src/app/static
ports:
- "8019:8000"
- "8010:8000"
env_file:
- .env.prod
depends_on:
@ -46,7 +46,7 @@ services:
container_name: imam-javad_celery
build:
context: .
dockerfile: Dockerfile.celery.prod
dockerfile: Dockerfile.prod
env_file: .env.prod
command: celery -A config worker -l info
volumes:

4
docker-compose.yml

@ -15,7 +15,7 @@ services:
depends_on:
- postgres
networks:
- aquilah
- imam-javad
postgres:
ports:
@ -27,7 +27,7 @@ services:
env_file:
- .env.dev
networks:
- aquilah
- imam-javad
volumes:

Loading…
Cancel
Save