|
|
|
|
@ -16,7 +16,9 @@ from rest_framework.views import APIView |
|
|
|
|
from access.models.other import Invite, ResetPassword |
|
|
|
|
from access.models.progress import ProgressLesson |
|
|
|
|
from access.models import Progress |
|
|
|
|
from access.serializers import UserSelfSerializer, UserSearchSerializer, ProgressLessonSerializer |
|
|
|
|
from access.serializers import UserSelfSerializer, UserSearchSerializer, ProgressLessonSerializer, \ |
|
|
|
|
ProgressAnalyticSerializer |
|
|
|
|
from courses.api import CourseProgressApi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class TeacherListView(APIView): |
|
|
|
|
@ -318,6 +320,26 @@ class CourseProgressDynamicView(APIView): |
|
|
|
|
return Response(status=403) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class CourseProgressUserView(APIView): |
|
|
|
|
renderer_classes = (JSONRenderer,) |
|
|
|
|
|
|
|
|
|
@staticmethod |
|
|
|
|
def get(request, token): |
|
|
|
|
if request.user.is_authenticated() and request.user.is_staff: |
|
|
|
|
try: |
|
|
|
|
res = [] |
|
|
|
|
sorted_token_list = CourseProgressApi.get_topic_lesson(token) |
|
|
|
|
for p in Progress.objects.filter(course_token=token): |
|
|
|
|
progress = ProgressAnalyticSerializer(p).data |
|
|
|
|
progress['progress_course'] = p.progress_status(sorted_token_list) |
|
|
|
|
res.append(progress) |
|
|
|
|
return Response(res, status=200) |
|
|
|
|
except ValidationError: |
|
|
|
|
return Response("Bad request", status=400) |
|
|
|
|
|
|
|
|
|
return Response(status=403) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class MinUserView(APIView): |
|
|
|
|
renderer_classes = (JSONRenderer,) |
|
|
|
|
|
|
|
|
|
|