|
|
|
|
@ -2,6 +2,7 @@ from courses.models import Course, Lesson |
|
|
|
|
from rest_framework.renderers import JSONRenderer |
|
|
|
|
from rest_framework.response import Response |
|
|
|
|
from rest_framework.views import APIView |
|
|
|
|
from django.contrib.auth import get_user_model |
|
|
|
|
|
|
|
|
|
from courses.serializers import CourseDetailSerializer, CourseTreeSerializer, LessonSerializer |
|
|
|
|
from progress.models import ProgressLesson |
|
|
|
|
@ -25,6 +26,9 @@ class CourseListView(APIView): |
|
|
|
|
status_code = 200 |
|
|
|
|
|
|
|
|
|
def post(self, request): |
|
|
|
|
# TODO: Костыль |
|
|
|
|
teachers_emails = request.JSON.get('teachers', []) |
|
|
|
|
request.JSON['teachers'] = [get_user_model().objects.get(email=i).out_key for i in teachers_emails] |
|
|
|
|
course = Course.objects.update_or_create_course(**request.JSON.dict()) |
|
|
|
|
return Response(CourseDetailSerializer(course).data, status=self.status_code) |
|
|
|
|
|
|
|
|
|
@ -33,6 +37,14 @@ class CourseListView(APIView): |
|
|
|
|
return Response(res, self.status_code) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class CourseDetailView(APIView): |
|
|
|
|
renderer_classes = (JSONRenderer,) |
|
|
|
|
status_code = 200 |
|
|
|
|
|
|
|
|
|
def get(self, request, slug): |
|
|
|
|
return Response(CourseDetailSerializer(Course.objects.get(slug=slug)).data, self.status_code) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class LessonDetail(APIView): |
|
|
|
|
renderer_classes = (JSONRenderer,) |
|
|
|
|
|
|
|
|
|
|