Example #1
0
class ValidacionSerializer(serializers.ModelSerializer):
    """Serializer para generar un API endpoint hacie el modelo de
    :class:`Validacion`.
    """

    departamento = serializers.StringRelatedField(
        source='escuela.municipio.departamento')
    municipio = serializers.StringRelatedField(
        source='escuela.municipio.nombre')
    escuela = EscuelaSerializer(fields='nombre,codigo,url')
    requisitos = serializers.StringRelatedField(source='porcentaje_requisitos')
    estado = serializers.SerializerMethodField()
    fecha = serializers.DateField(source='fecha_inicio')
    comentarios = ValidacionComentarioSerializer(many=True,
                                                 fields='comentario')
    observacion = serializers.StringRelatedField()

    class Meta:
        model = mye_m.Validacion
        fields = ('departamento', 'municipio', 'escuela', 'requisitos',
                  'estado', 'fecha', 'fecha_equipamiento', 'comentarios',
                  'observacion')

    def get_estado(self, obj):
        """Devuelve un texto indicando si la :class:`Validacion`
        está completa o no.
        """
        return 'Completa' if obj.completada is True else 'Pendiente'
Example #2
0
class ParticipanteSerializer(DynamicFieldsModelSerializer, serializers.ModelSerializer):
    url = serializers.URLField(source='get_absolute_url')
    escuela = EscuelaSerializer(read_only=True, fields='codigo,nombre,url')
    asignaciones = AsignacionResumenSerializer(read_only=True, many=True)

    class Meta:
        model = Participante
        fields = '__all__'
        extra_kwargs = {'dpi': {'required': 'True'}}
Example #3
0
class EvaluacionMonitoreoFullSerializer(EvaluacionMonitoreoSerializer):
    """Serializer para generar informes completos de :class:`EvaluacionMonitoreo`
    """

    pregunta = serializers.StringRelatedField()
    equipamiento = serializers.StringRelatedField(
        source='monitoreo.equipamiento', read_only=True)
    fecha = serializers.DateField(source='monitoreo.fecha', read_only=True)
    fecha_equipamiento = serializers.DateField(
        source='monitoreo.equipamiento.fecha', read_only=True)
    escuela = EscuelaSerializer(source='monitoreo.equipamiento.escuela',
                                fields='id,nombre,codigo',
                                read_only=True)
Example #4
0
class LaboratorioSerializer(serializers.ModelSerializer):
    """Serializer para generar informes de laboratorios"""
    url = serializers.URLField(source='get_absolute_url')
    escuela = EscuelaSerializer(fields='url,codigo,nombre')
    municipio = serializers.StringRelatedField(
        source='escuela.municipio.nombre')
    departamento = serializers.StringRelatedField(
        source='escuela.municipio.departamento')

    class Meta:
        model = ie_models.Laboratorio
        fields = ('id', 'url', 'escuela', 'fecha', 'municipio', 'departamento',
                  'cantidad_computadoras')
Example #5
0
class IEValidacionSerializer(serializers.ModelSerializer):
    """Serializer para generar informes de validaciones"""
    url = serializers.URLField(source='get_absolute_url')
    escuela = EscuelaSerializer(fields='url,codigo,nombre')
    municipio = serializers.StringRelatedField(
        source='escuela.municipio.nombre')
    departamento = serializers.StringRelatedField(
        source='escuela.municipio.departamento')

    class Meta:
        model = ie_models.Validacion
        fields = ('id', 'url', 'escuela', 'fecha_inicio', 'fecha_fin',
                  'completada', 'municipio', 'departamento',
                  'porcentaje_requisitos')
Example #6
0
class SolicitudSerializer(serializers.ModelSerializer):
    departamento = serializers.StringRelatedField(
        source='escuela.municipio.departamento')
    municipio = serializers.StringRelatedField(
        source='escuela.municipio.nombre')
    escuela = EscuelaSerializer(fields='nombre,codigo,url')
    requisitos = serializers.StringRelatedField(source='porcentaje_requisitos')
    alumnos = serializers.IntegerField(source='poblacion.total_alumno')
    maestros = serializers.IntegerField(source='poblacion.total_maestro')
    equipada = serializers.BooleanField(source='escuela.equipada')

    class Meta:
        model = mye_m.Solicitud
        fields = ('departamento', 'municipio', 'escuela', 'requisitos',
                  'alumnos', 'maestros', 'equipada', 'fecha')
Example #7
0
class VisitaSerializer(DynamicFieldsModelSerializer):
    promedio = serializers.FloatField(read_only=True)
    alcance = serializers.CharField(source='estado.alcance')
    escuela = EscuelaSerializer(fields='nombre,url,codigo')
    capacitador = serializers.StringRelatedField(
        source='capacitador.get_full_name')
    tipo_visita = serializers.StringRelatedField()
    municipio = serializers.StringRelatedField(
        source='escuela.municipio.nombre')
    departamento = serializers.StringRelatedField(
        source='escuela.municipio.departamento')
    poblacion = serializers.SerializerMethodField()

    class Meta:
        model = kalite_m.Visita
        fields = '__all__'
        read_only_fields = ('id', 'escuela')

    def get_poblacion(self, obj):
        poblacion = obj.escuela.poblaciones.last()
        return poblacion.total_maestro if poblacion else 0