в процессе

remotes/origin/pm_task_31703
Andrey 8 years ago
parent cd5eb4efb1
commit 23290cd612
  1. 72
      courses/new_view.py

@ -0,0 +1,72 @@
from rest_framework.views import APIView
from rest_framework.renderers import JSONRenderer
from rest_framework.response import Response
from courses.models import Course, MaterialDirection, CourseTheme, Lesson
from courses.serializers import CourseTreeSerializer, CourseDetailSerializer, CourseListSerializer,\
ThemeSerializer, LessonSerializer
from finance.models import Bill
class DirectionListView(APIView):
renderer_classes = (JSONRenderer,)
status_code = 200
def get(self, request):
return Response([direction.title for direction in MaterialDirection.objects.all()], self.status_code)
class TreeView(APIView):
renderer_classes = (JSONRenderer,)
status_code = 200
@staticmethod
def post(request):
print(request)
return Response(status=204)
def get(self, request, id):
return Response(CourseTreeSerializer(Course.objects.get(id=id)).data, self.status_code)
class ThemeDetailView(APIView):
renderer_classes = (JSONRenderer,)
status_code = 200
def get(self, request, id):
return Response(ThemeSerializer(CourseTheme.objects.get(id=id)).data, self.status_code)
class LessonDetailView(APIView):
renderer_classes = (JSONRenderer,)
status_code = 200
def get(self, request, id):
return Response(LessonSerializer(Lesson.objects.get(id=id)).data, self.status_code)
class CourseDetailView(APIView):
renderer_classes = (JSONRenderer,)
status_code = 200
def get(self, request, id):
return Response(CourseDetailSerializer(Course.objects.get(id=id)).data, self.status_code)
class CourseListView(APIView):
renderer_classes = (JSONRenderer,)
status_code = 200
def get(self, request):
if not request.GET.get('staff', 'true') == 'false':
return Response([CourseListSerializer(i).data for i in Course.objects.all()], self.status_code)
res = []
for course in Course.objects.all():
if course.public:
course_serialize = CourseListSerializer(course).data
course_serialize['is_mine'] = False
if request.user.is_authenticated() and Bill.objects.filter(service__course=course, user=request.user, status='F').exists():
course_serialize['is_mine'] = True
res.append(course_serialize)
return Response(res, self.status_code)
Loading…
Cancel
Save