diff --git a/progress/tasks.py b/progress/tasks.py index 6462421..4a9a363 100644 --- a/progress/tasks.py +++ b/progress/tasks.py @@ -12,13 +12,13 @@ def add_next_lesson(progress): for lesson, is_hw in lesson_list: if is_hw: - pl = ProgressLesson.objects.create( + pl, _c = ProgressLesson.objects.get_or_create( progress=progress, lesson_token=lesson, checker=progress.teacher, ) else: - pl = ProgressLesson.objects.create( + pl, _c = ProgressLesson.objects.get_or_create( progress=progress, lesson_token=lesson, checker=progress.user, diff --git a/progress/views.py b/progress/views.py index 4970f12..4d1d62f 100644 --- a/progress/views.py +++ b/progress/views.py @@ -133,7 +133,7 @@ class TeacherUpdateProgress(APIView): res = {"current": ProgressLessonSerializer(pv).data} if pv.status == ProgressLesson.STATUSES.done: # TODO: Ассинхроннаязадача для celery - res['next'] = add_next_lesson(p) + res['next'] = ProgressLessonSerializer(add_next_lesson(p)).data return Response(res, status=200) @@ -163,8 +163,8 @@ class StudentUpdateProgress(APIView): lesson_token=lesson_token, ) - if not pv.status == ProgressLesson.STATUSES.wait \ - and not pv.status == ProgressLesson.STATUSES.done: + + if not pv.status == ProgressLesson.STATUSES.wait: if pv.checker == p.teacher: pv.status = ProgressLesson.STATUSES.wait