Esempio n. 1
0
def interactive_content_by_course(request, course_id):
    # Tomando información del usuario
    user_id = request.user.id
    # Verificar que el docente tenga contenido creado
    try:
        # Recuperar el contenido que creó el profesor
        user = request.user
        user_with_roll = user.get_real_instance()
        if user_with_roll.__class__.__name__ == 'Profesor':
            contents_list = ContenidoInteractivo.objects.filter(
                curso__profesor=user_id, curso=course_id)

    except (KeyError, Curso.DoesNotExist):
        # devolver vacio si no existe contenido creado por el usuario
        return JsonResponse({})
    else:
        # Devolver los resultados de la consulta en formato JSON
        if not contents_list:
            return JsonResponse({})
        serializer_class = ContenidoInteractivoSerializer(contents_list,
                                                          many=True)
        response = Response(serializer_class.data, status=status.HTTP_200_OK)
        response.accepted_renderer = JSONRenderer()
        response.accepted_media_type = "application/json"
        response.renderer_context = {}
        return response
Esempio n. 2
0
def get_interactive_contents(user_id):
    # Verificar que el docente tenga contenido creado
    try:
        # Recuperar el contenido que creó el profesor
        contents_list = ContenidoInteractivo.objects.filter(
            contenido__profesor_id=user_id).select_related('contenido')
    except (KeyError, ContenidoInteractivo.DoesNotExist):
        # devolver vacio si no existe contenido creado por el usuario
        return JsonResponse({})
    else:
        # Devolver los resultados de la consulta en formato JSON
        serializer_class = ContenidoInteractivoSerializer(contents_list,
                                                          many=True)
        response = Response(serializer_class.data, status=status.HTTP_200_OK)
        response.accepted_renderer = JSONRenderer()
        response.accepted_media_type = "application/json"
        response.renderer_context = {}
        return response
Esempio n. 3
0
    def post(self, request, *args, **kwargs):
        user = request.user.get_real_instance()
        if user.__class__.__name__ == 'Profesor':
            new_content_data = request.data
            contenido_id = int(new_content_data['contenido'])
            user_id = user.id

            contenido = get_object_or_404(
                Contenido.objects.filter(profesor_id=user_id, pk=contenido_id))
            new_content_data['contenido'] = contenido

            ci = ContenidoInteractivo.objects.create(**new_content_data)

            serializer_class = ContenidoInteractivoSerializer(ci, many=False)
            response = Response(serializer_class.data,
                                status=status.HTTP_200_OK)
            response.accepted_renderer = JSONRenderer()
            response.accepted_media_type = "application/json"
            response.renderer_context = {}
            return response
        else:
            return JsonResponse({'message': 'Unauthorized'}, status=401)