|
|
|
@ -15,7 +15,7 @@ from .serializers.course import ( |
|
|
|
MaterialSerializer, MaterialCreateSerializer, |
|
|
|
MaterialSerializer, MaterialCreateSerializer, |
|
|
|
LessonSerializer, LessonCreateSerializer, |
|
|
|
LessonSerializer, LessonCreateSerializer, |
|
|
|
LikeCreateSerializer, CourseCommentSerializer, LessonCommentSerializer, |
|
|
|
LikeCreateSerializer, CourseCommentSerializer, LessonCommentSerializer, |
|
|
|
) |
|
|
|
LiveLessonCommentSerializer) |
|
|
|
from .serializers.content import ( |
|
|
|
from .serializers.content import ( |
|
|
|
BanerSerializer, |
|
|
|
BanerSerializer, |
|
|
|
ImageSerializer, ImageCreateSerializer, |
|
|
|
ImageSerializer, ImageCreateSerializer, |
|
|
|
@ -55,7 +55,7 @@ from apps.course.models import ( |
|
|
|
Comment, CourseComment, LessonComment, |
|
|
|
Comment, CourseComment, LessonComment, |
|
|
|
Material, Lesson, |
|
|
|
Material, Lesson, |
|
|
|
Like, |
|
|
|
Like, |
|
|
|
) |
|
|
|
LiveLessonComment) |
|
|
|
from apps.config.models import Config |
|
|
|
from apps.config.models import Config |
|
|
|
from apps.content.models import ( |
|
|
|
from apps.content.models import ( |
|
|
|
Baner, Image, Text, ImageText, Video, |
|
|
|
Baner, Image, Text, ImageText, Video, |
|
|
|
@ -449,8 +449,6 @@ class CommentViewSet(ExtendedModelViewSet): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ObjectCommentsViewSet(ExtendedModelViewSet): |
|
|
|
class ObjectCommentsViewSet(ExtendedModelViewSet): |
|
|
|
OBJ_TYPE_COURSE = 'course' |
|
|
|
|
|
|
|
OBJ_TYPE_LESSON = 'lesson' |
|
|
|
|
|
|
|
queryset = Comment.objects.all() |
|
|
|
queryset = Comment.objects.all() |
|
|
|
serializer_class = CommentCreateSerializer |
|
|
|
serializer_class = CommentCreateSerializer |
|
|
|
permission_classes = (IsAuthorObjectOrAdmin,) |
|
|
|
permission_classes = (IsAuthorObjectOrAdmin,) |
|
|
|
@ -461,10 +459,12 @@ class ObjectCommentsViewSet(ExtendedModelViewSet): |
|
|
|
obj_type = self.request.query_params.get('obj_type') |
|
|
|
obj_type = self.request.query_params.get('obj_type') |
|
|
|
obj_id = self.request.query_params.get('obj_id') |
|
|
|
obj_id = self.request.query_params.get('obj_id') |
|
|
|
is_deactivated = self.request.query_params.get('is_deactivated') |
|
|
|
is_deactivated = self.request.query_params.get('is_deactivated') |
|
|
|
if obj_type == self.OBJ_TYPE_COURSE: |
|
|
|
if obj_type == Comment.OBJ_TYPE_COURSE: |
|
|
|
queryset = CourseComment.objects.filter(course=obj_id) |
|
|
|
queryset = CourseComment.objects.filter(course=obj_id) |
|
|
|
elif obj_type == self.OBJ_TYPE_LESSON: |
|
|
|
elif obj_type == Comment.OBJ_TYPE_LESSON: |
|
|
|
queryset = LessonComment.objects.filter(lesson=obj_id) |
|
|
|
queryset = LessonComment.objects.filter(lesson=obj_id) |
|
|
|
|
|
|
|
elif obj_type == Comment.OBJ_TYPE_LIVE_LESSON: |
|
|
|
|
|
|
|
queryset = LiveLessonComment.objects.filter(live_lesson=obj_id) |
|
|
|
if is_deactivated == '0': |
|
|
|
if is_deactivated == '0': |
|
|
|
queryset = queryset.filter(level=0) |
|
|
|
queryset = queryset.filter(level=0) |
|
|
|
elif is_deactivated == '1': |
|
|
|
elif is_deactivated == '1': |
|
|
|
@ -478,10 +478,12 @@ class ObjectCommentsViewSet(ExtendedModelViewSet): |
|
|
|
return CommentCreateSerializer |
|
|
|
return CommentCreateSerializer |
|
|
|
obj_type = self.request.query_params.get('obj_type') |
|
|
|
obj_type = self.request.query_params.get('obj_type') |
|
|
|
serializer_class = CommentSerializer |
|
|
|
serializer_class = CommentSerializer |
|
|
|
if obj_type == self.OBJ_TYPE_COURSE: |
|
|
|
if obj_type == Comment.OBJ_TYPE_COURSE: |
|
|
|
serializer_class = CourseCommentSerializer |
|
|
|
serializer_class = CourseCommentSerializer |
|
|
|
elif obj_type == self.OBJ_TYPE_LESSON: |
|
|
|
elif obj_type == Comment.OBJ_TYPE_LESSON: |
|
|
|
serializer_class = LessonCommentSerializer |
|
|
|
serializer_class = LessonCommentSerializer |
|
|
|
|
|
|
|
elif obj_type == Comment.OBJ_TYPE_LIVE_LESSON: |
|
|
|
|
|
|
|
serializer_class = LiveLessonCommentSerializer |
|
|
|
return serializer_class |
|
|
|
return serializer_class |
|
|
|
|
|
|
|
|
|
|
|
def perform_create(self, serializer): |
|
|
|
def perform_create(self, serializer): |
|
|
|
@ -497,11 +499,14 @@ class ObjectCommentsViewSet(ExtendedModelViewSet): |
|
|
|
obj_type = None |
|
|
|
obj_type = None |
|
|
|
obj_id = None |
|
|
|
obj_id = None |
|
|
|
if isinstance(instance, LessonComment): |
|
|
|
if isinstance(instance, LessonComment): |
|
|
|
obj_type = self.OBJ_TYPE_LESSON |
|
|
|
obj_type = Comment.OBJ_TYPE_LESSON |
|
|
|
obj_id = instance.lesson_id |
|
|
|
obj_id = instance.lesson_id |
|
|
|
elif isinstance(instance, CourseComment): |
|
|
|
elif isinstance(instance, CourseComment): |
|
|
|
obj_type = self.OBJ_TYPE_COURSE |
|
|
|
obj_type = Comment.OBJ_TYPE_COURSE |
|
|
|
obj_id = instance.course_id |
|
|
|
obj_id = instance.course_id |
|
|
|
|
|
|
|
elif isinstance(instance, LiveLessonComment): |
|
|
|
|
|
|
|
obj_type = Comment.OBJ_TYPE_LIVE_LESSON |
|
|
|
|
|
|
|
obj_id = instance.live_lesson_id |
|
|
|
serializer = self.get_serializer(instance) |
|
|
|
serializer = self.get_serializer(instance) |
|
|
|
try: |
|
|
|
try: |
|
|
|
pusher().trigger(f'comments_{obj_type}_{obj_id}', 'delete', serializer.data) |
|
|
|
pusher().trigger(f'comments_{obj_type}_{obj_id}', 'delete', serializer.data) |
|
|
|
|