Exemplo n.º 1
0
 def pages(self, request, pk=None):
     _course = get_object_or_404(Course, pk=pk)
     self.check_object_permissions(request, _course)
     pages = _course.pages.all()
     serializer = DocumentSerializer(pages, many=True)
     page_playlist = playlist.to_array(_course.page_playlist)
     N = len(page_playlist)
     ordered_data = [""] * N
     for i in range(N):
         ordered_data[i] = serializer.data[page_playlist[i][1]]
     return Response(ordered_data)
Exemplo n.º 2
0
 def pages(self, request, pk=None):
     _course = get_object_or_404(Course, pk=pk)
     self.check_object_permissions(request, _course)
     pages = _course.pages.all()
     serializer = DocumentSerializer(pages, many=True)
     page_playlist = playlist.to_array(_course.page_playlist)
     N = len(page_playlist)
     ordered_data = [""] * N
     for i in range(N):
         ordered_data[i] = serializer.data[page_playlist[i][1]]
     return Response(ordered_data)
Exemplo n.º 3
0
 def groups(self, request, pk=None):
     """
     Function to get all the groups in a course
     """
     _course = get_object_or_404(Course, pk=pk)
     self.check_object_permissions(request, _course)
     _groups = Group.objects.filter(course=_course)
     serializer = GroupSerializer(_groups, many=True)
     _playlist = playlist.to_array(_course.playlist)
     N = len(_playlist)
     ordered_data = [""] * N
     for i in range(N):
         ordered_data[i] = serializer.data[_playlist[i][1]]
     return Response(ordered_data)
Exemplo n.º 4
0
 def groups(self, request, pk=None):
     """
     Function to get all the groups in a course
     """
     _course = get_object_or_404(Course, pk=pk)
     self.check_object_permissions(request, _course)
     _groups = Group.objects.filter(course=_course)
     serializer = GroupSerializer(_groups, many=True)
     _playlist = playlist.to_array(_course.playlist)
     N = len(_playlist)
     ordered_data = [""] * N
     for i in range(N):
         ordered_data[i] = serializer.data[_playlist[i][1]]
     return Response(ordered_data)
Exemplo n.º 5
0
 def concepts(self, request, pk=None):
     """
         Function to get all the concepts in a course
     """
     group = get_object_or_404(Group, pk=pk)
     self.check_object_permissions(request=request, obj=group.course)
     concepts = Concept.objects.filter(group=group)
     serializer = ConceptSerializer(concepts, many=True)
     if len(serializer.data) == 0:
         return Response([])
     _playlist = playlist.to_array(group.playlist)
     N = len(_playlist)
     ordered_data = [""]*N
     for i in range(N):
         ordered_data[i] = serializer.data[_playlist[i][1]]
     return Response(ordered_data)
Exemplo n.º 6
0
 def concepts(self, request, pk=None):
     """
         Function to get all the concepts in a course
     """
     group = get_object_or_404(Group, pk=pk)
     self.check_object_permissions(request=request, obj=group.course)
     concepts = Concept.objects.filter(group=group)
     serializer = ConceptSerializer(concepts, many=True)
     if len(serializer.data) == 0:
         return Response([])
     _playlist = playlist.to_array(group.playlist)
     N = len(_playlist)
     ordered_data = [""] * N
     for i in range(N):
         ordered_data[i] = serializer.data[_playlist[i][1]]
     return Response(ordered_data)
Exemplo n.º 7
0
 def published_concepts(self, request, pk=None):
     """
         Function to get all the concepts in a course
     """
     group = get_object_or_404(Group, pk=pk)
     self.check_object_permissions(request=request, obj=group.course)
     concepts = Concept.objects.filter(group=group)
     _playlist = playlist.to_array(group.playlist)
     N = len(_playlist)
     ordered_data = []
     for i in range(N):
         concept = concepts[_playlist[i][1]]
         if concept.is_published:
             #  TODO: check if append does not take O(n) time
             ordered_data.append(concept)
     serializer = ConceptSerializer(ordered_data, many=True)
     return Response(serializer.data)
Exemplo n.º 8
0
 def published_concepts(self, request, pk=None):
     """
         Function to get all the concepts in a course
     """
     group = get_object_or_404(Group, pk=pk)
     self.check_object_permissions(request=request, obj=group.course)
     concepts = Concept.objects.filter(group=group)
     _playlist = playlist.to_array(group.playlist)
     N = len(_playlist)
     ordered_data = []
     for i in range(N):
         concept = concepts[_playlist[i][1]]
         if concept.is_published:
             #  TODO: check if append does not take O(n) time
             ordered_data.append(concept)
     serializer = ConceptSerializer(ordered_data, many=True)
     return Response(serializer.data)