def courses_content_view(request, content_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
        contents = ContenidoInteractivo.curso.through.objects.filter(
            contenidointeractivo_id=content_id)
        user = request.user
        user_with_roll = user.get_real_instance()
        if user_with_roll.__class__.__name__ == 'Profesor':
            if not contents:
                contents_list = Curso.objects.filter(profesor_id=user_id)
            else:
                contents_list = Curso.objects.filter(
                    profesor_id=user_id).exclude(
                        pk__in=Subquery(contents.values('curso_id')))
        else:
            cursos_ids = Grupo.objects.filter(
                estudiante=user_with_roll).values_list('curso_id', flat=True)
            contents_list = Curso.objects.filter(pk__in=list(cursos_ids))

    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
        serializer_class = CursoSerializer(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
Exemple #2
0
class ProfesorSerializer(serializers.ModelSerializer):
    cursos = CursoSerializer(many=True, read_only=True)

    class Meta:
        model = Profesor
        fields = ('username', 'first_name', 'last_name', 'email', 'direccion',
                  'telefono', 'facultad', 'cursos')
Exemple #3
0
def courses_view(request):
    # Tomando información del usuario
    user_id = request.user.id

    try:
        # Recuperar el contenido que creó el profesor
        contents_list = Curso.objects.filter(profesor_id=user_id).filter()
    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
        serializer_class = CursoSerializer(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