migrate update

feature/fix_generate_pass
Andrey 8 years ago
parent 01b69553b7
commit 92148fd2c5
  1. 13
      courses/api.py
  2. 9
      progress/views.py

@ -36,12 +36,15 @@ class CourseProgressApi:
course = Course.objects.get(token=course_token)
acc = []
include_lesson = True
for lesson in course.get_lesson_list():
if not lesson.token in lesson_list and include_lesson:
include_lesson = False
reversed_list = course.get_lesson_list()[::-1]
for lesson_idx, lesson in enumerate(reversed_list):
prev_idx = lesson_idx - 1
if include_lesson and not lesson.token in lesson_list:
acc.append((lesson.token, lesson.is_hm))
break
else:
if lesson.token in lesson_list and not include_lesson:
acc.append((reversed_list[prev_idx].token, reversed_list[prev_idx].is_hm))
include_lesson = True
return acc

@ -11,7 +11,7 @@ from rest_framework.views import APIView
from django.db.models import Q
from progress.models import ProgressLesson, Progress
from progress.serializers import ProgressAnalyticSerializer, ProgressLessonSerializer
from progress.serializers import ProgressAnalyticSerializer, ProgressLessonSerializer, ProgressSerializer
from courses.api import CourseProgressApi
from progress.tasks import add_next_lesson
@ -163,9 +163,7 @@ class StudentUpdateProgress(APIView):
lesson_token=lesson_token,
)
if not pv.status == ProgressLesson.STATUSES.wait:
if pv.checker == p.teacher:
pv.status = ProgressLesson.STATUSES.wait
if not comment is None:
@ -186,12 +184,11 @@ class StudentUpdateProgress(APIView):
except ProgressLesson.DoesNotExist:
return Response('Урок не проходится этим пользователем', status=403)
res = {"current": ProgressLessonSerializer(pv).data}
if pv.status == ProgressLesson.STATUSES.done:
# TODO: Ассинхроннаязадача для celery
res['next'] = ProgressLessonSerializer(add_next_lesson(p)).data
add_next_lesson(p)
return Response(res, status=200)
return Response(ProgressSerializer(p).data, status=200)
except Progress.DoesNotExist:
return Response('Не найден прогресс по заданным параметрам', status=404)

Loading…
Cancel
Save