Esempio n. 1
0
def view_progress(request, course):
    """
        View progress page of current user
    """
    mode = get_mode(request)
    if mode is not False:
        if mode == 'S':
            return render(request, 'progress/student_progress.html', {'courseId': course})
        elif mode == 'I':
            return render(request, 'progress/course_progress.html', {'courseId': course})
    return Response("Bad request", status.HTTP_400_BAD_REQUEST)
Esempio n. 2
0
def mycourselist(request):
    """
        Obselete. Purpose not clear
        Serves the enrolled course list for a student
    """
    mode = get_mode(request)
    if mode == 'I':
        return instructor_courses(request)
    elif mode == 'C':
        return content_developer_courses(request)
    #elif mode == 'S':
    #    return student_courses(request)
    #return HttpResponse("Forbidden", status.HTTP_403_FORBIDDEN)
    else:
        return student_courses(request)
Esempio n. 3
0
def mycourselist(request):
    """
        Obselete. Purpose not clear
        Serves the enrolled course list for a student
    """
    mode = get_mode(request)
    if mode == 'I':
        return instructor_courses(request)
    elif mode == 'C':
        return content_developer_courses(request)
    #elif mode == 'S':
    #    return student_courses(request)
    #return HttpResponse("Forbidden", status.HTTP_403_FORBIDDEN)
    else:
        return student_courses(request)
Esempio n. 4
0
def course(request, pk=None, ref=None):
    """Serves a course main page"""
    _course = get_object_or_404(Course, pk=pk)
    context = {"request": request, "course": _course}
    if ref is not None and len(ref) > 0:
        context["ref"] = ref
    else:
        context["ref"] = "-1"
    mode = get_mode(request)
    history = CourseHistory.objects.filter(user=request.user,
                                           course=_course,
                                           active='A')

    if mode == 'I' or mode == 'C':
        if len(history) > 0:
            if history[0].is_owner:
                return render(request, "content_developer/course.html",
                              context)
        return render(request, "student/course.html", context)
    #elif mode == 'S':
    else:
        if len(history) > 0:
            return render(request, "student/course.html", context)
        course_data = CourseSerializer(_course).data
        if course_data['course_info']['start_time']:
            s_date = course_data['course_info']['start_time'].strftime(
                '%d %b,%Y')
            course_data['course_info']['start_time'] = s_date
        if course_data['course_info']['end_time']:
            e_date = course_data['course_info']['end_time'].strftime(
                '%d %b,%Y')
            course_data['course_info']['end_time'] = e_date
        if course_data['course_info']['end_enrollment_date']:
            end_e_date = course_data['course_info'][
                'end_enrollment_date'].strftime('%d %b,%Y')
            course_data['course_info']['end_enrollment_date'] = end_e_date
        context = {
            "request": request,
            "title": course_data['title'],
            "course": json.dumps(course_data),
            "course_info": json.dumps(course_data['course_info'])
        }
        return render(request, "course/public_course_info.html", context)
    return HttpResponse("Forbidden", status.HTTP_403_FORBIDDEN)
Esempio n. 5
0
def course(request, pk=None, ref=None):
    """Serves a course main page"""
    _course = get_object_or_404(Course, pk=pk)
    context = {"request": request, "course": _course}
    if ref is not None and len(ref) > 0:
        context["ref"] = ref
    else:
        context["ref"] = "-1"
    mode = get_mode(request)
    history = CourseHistory.objects.filter(user=request.user, course=_course, active='A')

    if mode == 'I' or mode == 'C':
        if len(history) > 0:
            if history[0].is_owner:
                return render(request, "content_developer/course.html", context)
        return render(request, "student/course.html", context)
    #elif mode == 'S':
    else:
        if len(history) > 0:
            return render(request, "student/course.html", context)
        course_data = CourseSerializer(_course).data
        if course_data['course_info']['start_time']:
            s_date = course_data['course_info']['start_time'].strftime('%d %b,%Y')
            course_data['course_info']['start_time'] = s_date
        if course_data['course_info']['end_time']:
            e_date = course_data['course_info']['end_time'].strftime('%d %b,%Y')
            course_data['course_info']['end_time'] = e_date
        if course_data['course_info']['end_enrollment_date']:
            end_e_date = course_data['course_info']['end_enrollment_date'].strftime('%d %b,%Y')
            course_data['course_info']['end_enrollment_date'] = end_e_date
        context = {
            "request": request,
            "title": course_data['title'],
            "course": json.dumps(course_data),
            "course_info": json.dumps(course_data['course_info'])
        }
        return render(request, "course/public_course_info.html", context)
    return HttpResponse("Forbidden", status.HTTP_403_FORBIDDEN)
Esempio n. 6
0
 def list(self, request):
     """
         List all the courses for q queryset
     """
     mode = get_mode(request)
     queryset = Course.objects.all()
     category = self.request.QUERY_PARAMS.get('category', None)
     if category is not None:
         queryset = queryset.filter(category__id=category)
     if mode == 'I':
         queryset = queryset.filter(type='T')
     elif mode == 'C':
         queryset = queryset.filter()
     else:
         queryset = queryset.filter(type='O',
                                    course_info__is_published=True)
     serializer = CourseSerializer(queryset)
     response = {
         "count": len(serializer.data),
         "next": "null",
         "previous": "null",
         "results": serializer.data
     }
     return Response(response)
Esempio n. 7
0
 def list(self, request):
     """
         List all the courses for q queryset
     """
     mode = get_mode(request)
     queryset = Course.objects.all()
     category = self.request.QUERY_PARAMS.get('category', None)
     if category is not None:
         queryset = queryset.filter(category__id=category)
     if mode == 'I':
         queryset = queryset.filter(type='T')
     elif mode == 'C':
         queryset = queryset.filter()
     else:
         queryset = queryset.filter(
             type='O', course_info__is_published=True)
     serializer = CourseSerializer(queryset)
     response = {
         "count": len(serializer.data),
         "next": "null",
         "previous": "null",
         "results": serializer.data
     }
     return Response(response)