|
|
|
|
@ -424,23 +424,24 @@ class ObjectCommentsViewSet(ExtendedModelViewSet): |
|
|
|
|
queryset = self.queryset |
|
|
|
|
obj_type = self.request.query_params.get('obj_type') |
|
|
|
|
obj_id = self.request.query_params.get('obj_id') |
|
|
|
|
is_deactivated = self.request.query_params.get('is_deactivated', '0') |
|
|
|
|
is_deactivated = self.request.query_params.get('is_deactivated') |
|
|
|
|
if obj_type == self.OBJ_TYPE_COURSE: |
|
|
|
|
queryset = CourseComment.objects.filter(course=obj_id, parent__isnull=True) |
|
|
|
|
queryset = CourseComment.objects.filter(course=obj_id) |
|
|
|
|
elif obj_type == self.OBJ_TYPE_LESSON: |
|
|
|
|
queryset = LessonComment.objects.filter(lesson=obj_id, parent__isnull=True) |
|
|
|
|
queryset = LessonComment.objects.filter(lesson=obj_id) |
|
|
|
|
if is_deactivated == '0': |
|
|
|
|
queryset = queryset.filter(level=0) |
|
|
|
|
elif is_deactivated == '1': |
|
|
|
|
queryset = queryset.filter(deactivated_at__isnull=True) |
|
|
|
|
elif is_deactivated == '2': |
|
|
|
|
queryset = queryset.filter(deactivated_at__isnull=False) |
|
|
|
|
return queryset |
|
|
|
|
return queryset.order_by('update_at') |
|
|
|
|
|
|
|
|
|
def get_serializer_class(self): |
|
|
|
|
if self.request.method == 'POST': |
|
|
|
|
return CommentCreateSerializer |
|
|
|
|
obj_type = self.request.query_params.get('obj_type') |
|
|
|
|
serializer_class = CommentSerializer |
|
|
|
|
if obj_type == self.OBJ_TYPE_COURSE: |
|
|
|
|
serializer_class = CourseCommentSerializer |
|
|
|
|
elif obj_type == self.OBJ_TYPE_LESSON: |
|
|
|
|
@ -451,18 +452,32 @@ class ObjectCommentsViewSet(ExtendedModelViewSet): |
|
|
|
|
obj_type = self.request.data.get('obj_type') |
|
|
|
|
obj_id = self.request.data.get('obj_id') |
|
|
|
|
serializer.save() |
|
|
|
|
pusher().trigger(f'comments_{obj_type}_{obj_id}', 'add', serializer.data) |
|
|
|
|
try: |
|
|
|
|
pusher().trigger(f'comments_{obj_type}_{obj_id}', 'add', serializer.data) |
|
|
|
|
except Exception as e: |
|
|
|
|
print(e) |
|
|
|
|
|
|
|
|
|
def perform_destroy(self, instance): |
|
|
|
|
obj_type = None |
|
|
|
|
obj_id = None |
|
|
|
|
if isinstance(instance, LessonComment): |
|
|
|
|
obj_type = self.OBJ_TYPE_LESSON |
|
|
|
|
obj_id = instance.lesson_id |
|
|
|
|
elif isinstance(instance, CourseComment): |
|
|
|
|
obj_type = self.OBJ_TYPE_COURSE |
|
|
|
|
obj_id = instance.course_id |
|
|
|
|
serializer = self.get_serializer(instance) |
|
|
|
|
pusher().trigger(f'comments_{obj_type}_{obj_id}', 'delete', serializer.data) |
|
|
|
|
try: |
|
|
|
|
pusher().trigger(f'comments_{obj_type}_{obj_id}', 'delete', serializer.data) |
|
|
|
|
except Exception as e: |
|
|
|
|
print(e) |
|
|
|
|
instance.delete() |
|
|
|
|
|
|
|
|
|
def list(self, request, *args, **kwargs): |
|
|
|
|
queryset = self.filter_queryset(self.get_queryset()).filter(parent__isnull=True) |
|
|
|
|
serializer = self.get_serializer(queryset, many=True) |
|
|
|
|
return Response(serializer.data) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class AuthorRequestViewSet(ExtendedModelViewSet): |
|
|
|
|
queryset = AuthorRequest.objects.all() |
|
|
|
|
|