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)
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)
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)
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)
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)
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)
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)
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)