в процессе

remotes/origin/pm_task_31703
Andrey 9 years ago
parent d1759a5fe4
commit 24adcd2927
  1. 1
      access/middleware.py
  2. 1
      courses/new_urls.py
  3. 13
      courses/new_view.py
  4. 10
      courses/serializers.py

@ -9,7 +9,6 @@ class CheckPerm(object):
def process_request(request): def process_request(request):
if len(request.path) > 6 and \ if len(request.path) > 6 and \
('/admin' == request.path[:6] ('/admin' == request.path[:6]
or "/manag" == request.path[:6]
or'/analy' == request.path[:6]): or'/analy' == request.path[:6]):
#or "/api/v" == request.path[:6]): #or "/api/v" == request.path[:6]):

@ -3,6 +3,7 @@ from courses import new_view as views
urlpatterns = [ urlpatterns = [
url(r'theme/detail/([0-9]{1,99})/$', views.ThemeDetailView.as_view()), url(r'theme/detail/([0-9]{1,99})/$', views.ThemeDetailView.as_view()),
url(r'lesson/detail/([0-9]{1,99})/$', views.LessonDetailView.as_view()),
url(r'detail/([0-9]{1,99})/$', views.CourseDetailView.as_view()), url(r'detail/([0-9]{1,99})/$', views.CourseDetailView.as_view()),
url(r'tree/([0-9]{1,99})/$', views.TreeView.as_view()), url(r'tree/([0-9]{1,99})/$', views.TreeView.as_view()),
url(r'directions/$', views.DirectionListView.as_view()), url(r'directions/$', views.DirectionListView.as_view()),

@ -1,8 +1,9 @@
from rest_framework.views import APIView from rest_framework.views import APIView
from rest_framework.renderers import JSONRenderer from rest_framework.renderers import JSONRenderer
from rest_framework.response import Response from rest_framework.response import Response
from courses.models import Course, MaterialDirection, CourseTheme from courses.models import Course, MaterialDirection, CourseTheme, Lesson
from courses.serializers import CourseTreeSerializer, CourseDetailSerializer, CourseListSerializer, ThemeSerializer from courses.serializers import CourseTreeSerializer, CourseDetailSerializer, CourseListSerializer,\
ThemeSerializer, LessonSerializer
class DirectionListView(APIView): class DirectionListView(APIView):
@ -34,6 +35,14 @@ class ThemeDetailView(APIView):
return Response(ThemeSerializer(CourseTheme.objects.get(id=id)).data, self.status_code) 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): class CourseDetailView(APIView):
renderer_classes = (JSONRenderer,) renderer_classes = (JSONRenderer,)
status_code = 200 status_code = 200

@ -7,10 +7,15 @@ from courses.models import Course, CourseTheme, Lesson, Homework, Exam
class LessonSerializer(serializers.ModelSerializer): class LessonSerializer(serializers.ModelSerializer):
on_comment = serializers.SerializerMethodField()
class Meta: class Meta:
model = Lesson model = Lesson
fields = '__all__' fields = ('id', 'title', 'on_comment', 'free')
@staticmethod
def get_on_comment(self):
return self.on_comment == 'N' or self.on_comment == 'T' and self.theme.on_comment
class HomeworkSerializer(serializers.ModelSerializer): class HomeworkSerializer(serializers.ModelSerializer):
@ -99,7 +104,8 @@ class CourseDetailSerializer(serializers.ModelSerializer):
'slug', 'mentors', 'page', 'sort', 'slug', 'mentors', 'page', 'sort',
'preview', 'use_fail', 'basic_len', 'preview', 'use_fail', 'basic_len',
'addition_len', 'min_price', 'buy_icon', 'addition_len', 'min_price', 'buy_icon',
'must_build', 'keywords', 'recommend' 'must_build', 'keywords', 'recommend',
'on_comment'
) )
@staticmethod @staticmethod

Loading…
Cancel
Save