migrate update

feature/fix_generate_pass
Andrey 8 years ago
parent 0e2cdfcb90
commit 4bfcefd701
  1. 28
      progress/views.py

@ -23,19 +23,25 @@ class StudentWorkView(APIView):
@staticmethod @staticmethod
def get(request, teacher_token): def get(request, teacher_token):
client_status = request.GET.get('status', 'in_progress') client_status = request.GET.get('status', 'in_progress')
last_id = request.GET.get('last_id', 0)
server_status = Q(status='fail') if \
client_status == 'not_done' else Q(status='wait') if client_status == 'in_progress'\
else Q(status='done')
if request.user.is_authenticated() and request.user.groups.filter(name__in=['teachers', 'admin']).exists(): if request.user.is_authenticated() and request.user.groups.filter(name__in=['teachers', 'admin']).exists():
try: try:
progress_lessons = ProgressLesson.objects.filter( if client_status == 'done':
~Q(progress__user__out_key=teacher_token), date_from = datetime.datetime.now() - datetime.timedelta(days=7)
# ~Q(comment_tokens__len=0), progress_lessons = ProgressLesson.objects.filter(
server_status, ~Q(progress__user__out_key=teacher_token),
checker__out_key=teacher_token, ~Q(comment_tokens__len=0),
id__gt=last_id, status='done',
)[last_id:100] checker__out_key=teacher_token,
finish_date__gte=date_from,
).order_by('-finish_date')
else:
server_status = Q(status='fail') if client_status == 'not_done' else Q(status='wait')
progress_lessons = ProgressLesson.objects.filter(
~Q(progress__user__out_key=teacher_token),
server_status,
checker__out_key=teacher_token,
).order_by('-last_update')
return Response([ProgressLessonSerializer(i).data for i in progress_lessons], status=200) return Response([ProgressLessonSerializer(i).data for i in progress_lessons], status=200)
except ValidationError: except ValidationError:
return Response("Bad request", status=400) return Response("Bad request", status=400)

Loading…
Cancel
Save