예제 #1
0
    def get(self, request, course_id, format=None):
        """ Get updates of the current course. """
        if not Course.objects.filter(course_id=course_id)[0]:
            return Response(status=status.HTTP_404_NOT_FOUND)

        param = {
            'timestamp': int(request.GET.get('timestamp', 0)),
        }

        updates = get_course_updates(course_id, param['timestamp'])
        result = {
            "updates": UpdateSerializer(updates, many=True).data
        }
        return Response(result)
예제 #2
0
    def get(self, request, course_name, format=None):
        """ Get course notificationes """
        timestamp = request.REQUEST.get('timestamp', 0)

        if not Course.objects.filter(course_id=course_name).count():
            return Response(status=status.HTTP_404_NOT_FOUND)

        updates = get_course_updates(course_name, int(timestamp))
        for u in updates:
            u['id'] = "%s/N%06d" % (course_name, u['id'])
            u['date'] = u['date'].strftime("%B %d, %Y")
        updates_data = {'notifications': updates}

        return Response(updates_data)
예제 #3
0
    def get(self, request, format=None):
        """ Get all the updates(notifications) of the enrolled courses. """
        param = {
            'timestamp': int(request.GET.get('timestamp', 0)),
        }

        enrollments = exclude_vpc_and_selfpaced_enrollments(request.user)
        courses = [Course.objects.get(course_id=e.course_id)
                   for e in enrollments]

        result = {
            "updates": [],
        }

        for course in courses:
            updates = get_course_updates(course.course_id, param['timestamp'])
            result["updates"] += UpdateSerializer(updates, many=True).data

        return Response(result)
예제 #4
0
    def get(self, request, format=None):
        """ Get all course notification """
        user = request.user
        timestamp = request.REQUEST.get('timestamp', 0)

        courses = exclude_vpc_and_selfpaced_enrollments(user)
        updates_data = {'notifications': []}

        for c in courses:
            course_update = {}
            course_update['course_id'] = str(c.course_id)

            updates = get_course_updates(c.course_id, int(timestamp))
            for u in updates:
                u['id'] = "%s/N%06d" % (str(c.course_id), u['id'])
                u['date'] = u['date'].strftime("%B %d, %Y")
            course_update['updates'] = updates
            updates_data['notifications'].append(course_update)

        return Response(updates_data)