Пример #1
0
 def add_existing_quiz(self, request, pk=None):
     concept = get_object_or_404(Concept, pk=pk)
     self.check_object_permissions(request, concept.group.course)
     quiz = get_object_or_404(Quiz, int(request.DATA['pk']))
     concept.playlist = typed_playlist.append(quiz.id, concept.playlist, 1)
     concept.quizzes.add(quiz)
     concept.save()
     return Response(ConceptSerializer(concept).data)
Пример #2
0
 def add_existing_document(self, request, pk=None):
     concept = get_object_or_404(Concept, pk=pk)
     self.check_object_permissions(request, concept.group.course)
     document = get_object_or_404(Document, int(request.DATA['pk']))
     concept.playlist = typed_playlist.append(document.id, concept.playlist, 2)
     concept.pages.add(document)
     concept.save()
     return Response(ConceptSerializer(concept).data)
Пример #3
0
 def add_existing_quiz(self, request, pk=None):
     concept = get_object_or_404(Concept, pk=pk)
     self.check_object_permissions(request, concept.group.course)
     quiz = get_object_or_404(Quiz, int(request.DATA['pk']))
     concept.playlist = typed_playlist.append(quiz.id, concept.playlist, 1)
     concept.quizzes.add(quiz)
     concept.save()
     return Response(ConceptSerializer(concept).data)
Пример #4
0
 def add_existing_document(self, request, pk=None):
     concept = get_object_or_404(Concept, pk=pk)
     self.check_object_permissions(request, concept.group.course)
     document = get_object_or_404(Document, int(request.DATA['pk']))
     concept.playlist = typed_playlist.append(document.id, concept.playlist,
                                              2)
     concept.pages.add(document)
     concept.save()
     return Response(ConceptSerializer(concept).data)
Пример #5
0
 def add_quiz(self, request, pk=None):
     concept = get_object_or_404(Concept, pk=pk)
     self.check_object_permissions(request, concept.group.course)
     serializer = AddQuizSerializer(data=request.DATA)
     if serializer.is_valid():
         quiz = Quiz(title=serializer.data['title'])
         quiz.save()
         concept.playlist = typed_playlist.append(quiz.id, concept.playlist,
                                                  1)
         concept.quizzes.add(quiz)
         concept.save()
         return Response(QuizSerializer(quiz).data)
     else:
         content = serializer.errors
         return Response(content, status.HTTP_400_BAD_REQUEST)
Пример #6
0
 def add_quiz(self, request, pk=None):
     concept = get_object_or_404(Concept, pk=pk)
     self.check_object_permissions(request, concept.group.course)
     serializer = AddQuizSerializer(data=request.DATA)
     if serializer.is_valid():
         quiz = Quiz(
             title=serializer.data['title'])
         quiz.save()
         concept.playlist = typed_playlist.append(quiz.id, concept.playlist, 1)
         concept.quizzes.add(quiz)
         concept.save()
         return Response(QuizSerializer(quiz).data)
     else:
         content = serializer.errors
         return Response(content, status.HTTP_400_BAD_REQUEST)
Пример #7
0
 def add_document(self, request, pk=None):
     concept = get_object_or_404(Concept, pk=pk)
     self.check_object_permissions(request, concept.group.course)
     serializer = DocumentSerializer(data=request.DATA)
     if serializer.is_valid():
         document = Document(title=serializer.data['title'],
                             description=serializer.data['description'])
         document.save()
         concept.playlist = typed_playlist.append(document.id,
                                                  concept.playlist, 2)
         concept.pages.add(document)
         concept.save()
         return Response(document.to_dict())
     else:
         content = serializer.errors
         return Response(content, status.HTTP_400_BAD_REQUEST)
Пример #8
0
 def add_document(self, request, pk=None):
     concept = get_object_or_404(Concept, pk=pk)
     self.check_object_permissions(request, concept.group.course)
     serializer = DocumentSerializer(data=request.DATA)
     if serializer.is_valid():
         document = Document(
             title=serializer.data['title'],
             description=serializer.data['description']
             )
         document.save()
         concept.playlist = typed_playlist.append(document.id, concept.playlist, 2)
         concept.pages.add(document)
         concept.save()
         return Response(document.to_dict())
     else:
         content = serializer.errors
         return Response(content, status.HTTP_400_BAD_REQUEST)
Пример #9
0
    def add_video(self, request, pk=None):
        """
            Add video in the given concept
        """
        concept = get_object_or_404(Concept, pk=pk)
        self.check_object_permissions(request, concept.group.course)
        serializer = AddVideoSerializer(data=request.DATA)
        if serializer.is_valid():
            if 'other_file' in request.FILES:
                video = Video(
                    title=serializer.data['title'],
                    content=serializer.data['content'],
                    video_file=request.FILES['video_file'],
                    other_file=request.FILES['other_file'],
                    #duration=duration
                )
            else:
                video = Video(
                    title=serializer.data['title'],
                    content=serializer.data['content'],
                    video_file=request.FILES['video_file'],
                    #duration=duration
                )
            video.save()
            duration = video.get_length()
            video.duration = duration
            video.save()
            try:
                if 'video_config_file' in request.FILES:
                    import_quiz_camtasia8(request.FILES['video_config_file'],
                                          video)

                concept.playlist = typed_playlist.append(
                    video.id, concept.playlist, 0)
                concept.videos.add(video)
                concept.save()
                return Response(VideoSerializer(video).data)
            except Exception, e:
                print "Camtasia 8 exception : " + str(e)
                video.delete()
                return Response({"error": "Cannot parse Config File"},
                                status.HTTP_400_BAD_REQUEST)
Пример #10
0
    def add_video(self, request, pk=None):
        """
            Add video in the given concept
        """
        concept = get_object_or_404(Concept, pk=pk)
        self.check_object_permissions(request, concept.group.course)
        serializer = AddVideoSerializer(data=request.DATA)
        if serializer.is_valid():
            if 'other_file' in request.FILES:
                video = Video(
                    title=serializer.data['title'],
                    content=serializer.data['content'],
                    video_file=request.FILES['video_file'],
                    other_file=request.FILES['other_file'],
                    #duration=duration
                )
            else:
                video = Video(
                    title=serializer.data['title'],
                    content=serializer.data['content'],
                    video_file=request.FILES['video_file'],
                    #duration=duration
                )
            video.save()
            duration = video.get_length()
            video.duration = duration
            video.save()
            try:
                if 'video_config_file' in request.FILES:
                    import_quiz_camtasia8(request.FILES['video_config_file'], video)

                concept.playlist = typed_playlist.append(video.id, concept.playlist, 0)
                concept.videos.add(video)
                concept.save()
                return Response(VideoSerializer(video).data)
            except Exception, e:
                print "Camtasia 8 exception : " + str(e)
                video.delete()
                return Response({"error": "Cannot parse Config File"}, status.HTTP_400_BAD_REQUEST)