Esempio n. 1
0
def como_afecta(request, tipo):
    titulo = u'¿Como afecta la VBG a las mujeres, comunidad y la familia?'
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}
    opciones = ComoAfecta.objects.all()

    for op in opciones:
        tabla[op] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]

        for op in opciones:
            tabla[op].append(EfectoVBG.objects.filter(content_type=get_content_type(tipo), object_id__in=lista, como_afecta=op).count())

    checkvalue = lambda x: sum(x)
    for key, value in tabla.items():
        if checkvalue(value) < 10:
            del tabla[key]

    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)
    
    return render_to_response("monitoreo/generica_1.html", RequestContext(request, locals()))
Esempio n. 2
0
def hablan_de(request, tipo='mujeres'):    
    titulo = "¿Cuando alguien le habla de VBG usted cree que le estan hablando de?"
    resultados = _query_set_filtrado(request, tipo=tipo)
    tabla = {}
    opciones = HablanDe.objects.all()

    for op in opciones:
        tabla[op] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]       

        for opcion in opciones:
            query = ConceptoViolencia.objects.filter(content_type=get_content_type(tipo), object_id__in=lista, hablande=opcion, respuesta='si')
            tabla[opcion].append(query.count())

    checkvalue = lambda x: sum(x)
    for key, value in tabla.items():
        if checkvalue(value) < 15:
            del tabla[key]

    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)
    return render_to_response("monitoreo/generica_1.html", RequestContext(request, locals()))
Esempio n. 3
0
def donde_buscar_ayuda(request, tipo):
    titulo = '¿Donde debe buscar ayuda una mujer que vive VBG?'
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}
    opciones = BuscarAyuda.objects.all()

    for op in opciones:
        tabla[op] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]
        
        for op in opciones:
            tabla[op].append(AccionVBG.objects.filter(content_type=get_content_type(tipo), object_id__in=lista, donde_buscar=op).count())

    checkvalue = lambda x: sum(x)
    for key, value in tabla.items():
        if checkvalue(value) < 10:
            del tabla[key]

    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)
    
    return render_to_response("monitoreo/generica_1.html", RequestContext(request, locals()))
Esempio n. 4
0
def frecuencia(request, tipo):
    from trocaire.encuesta.models import FRECUENCIA2, FRECUENCIA    
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}
    
    if tipo == 'mujeres':
        opciones = FRECUENCIA
        titulo = u'¿Con que frecuencia ha vivido VBG este último año?'
    elif tipo == 'hombres':
        titulo = u'¿Con que frecuencia ha ejercido VBG este último año?'
        opciones = FRECUENCIA2
        
    for op in opciones:
        tabla[op[1]] = []
    
    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]
       
        for op in opciones:
            if tipo == 'mujeres':
                tabla[op[1]].append(PrevalenciaVBG.objects.filter(content_type=get_content_type(tipo), 
                                                                    object_id__in=lista, 
                                                                    frecuencia=op[0]).count())
            elif tipo == 'hombres':
                tabla[op[1]].append(PrevalenciaVBGHombre.objects.filter(content_type=get_content_type(tipo), 
                                                                    object_id__in=lista, 
                                                                    frecuencia=op[0]).count())    
    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)
    return render_to_response("monitoreo/generica_1.html", RequestContext(request, locals()))
Esempio n. 5
0
def que_hace_ante_vbg(request, tipo):
    """Que hace usted cuando existe una situación de VBG"""
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}
    campos = [field for field in AccionVBG._meta.fields if field.get_internal_type() == 'IntegerField' and not field.name == 'object_id']

    opciones = [1, 2, 3, 4, 5, 6]

    for field in campos:        
        tabla[field.verbose_name] = {}
        for key, grupo in resultados.items():
            lista = []
            [lista.append(encuesta.id) for encuesta in grupo]
            tabla[field.verbose_name][key] = {}            
            
            for op in opciones:
                tabla[field.verbose_name][key][op] = AccionVBG.objects.filter(content_type=get_content_type(tipo), object_id__in=lista, ** {field.name: op-1}).count()
    totales = get_total(resultados)
    
    #---------------Inicia transformacion para grafico ------------------------
    grafico = {}
    for key, value in tabla.items():
        grafico[key] = {}
        for i in range(1, 5):
            grafico[key][i] = obtener_indice(tabla[key][i])   
            
    return render_to_response("monitoreo/que_hace_ante_vbg.html", RequestContext(request, locals()))
Esempio n. 6
0
def mencione_leyes(request, tipo):
    titulo = u'Mencione la ley que penaliza la VBG contra las mujeres'
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}
    totales = get_total(resultados)
    
    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]
        
        tabla[key] = list(set(ConocimientoLey.objects.filter(content_type=get_content_type(tipo), object_id__in=lista).values_list('mencione')))
        
    return render_to_response("monitoreo/lista_leyes.html", RequestContext(request, locals()))
Esempio n. 7
0
def ayuda_mujer_violencia(request, tipo):    
    titulo = u'¿En el último año ha ayudado usted a alguna mujer que ha vivido VBG?'
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}

    for op in ['si', 'no']:
        tabla[op.title()] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]
        
        for op in ['si', 'no']:
            tabla[op.title()].append(AccionVBG.objects.filter(content_type=get_content_type(tipo), object_id__in=lista, ha_ayudado=op).count())
    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)
    return render_to_response("monitoreo/generica_pie.html", RequestContext(request, locals()))
Esempio n. 8
0
def lista_generica(request, tipo, **params):
    titulo = params['titulo']
    resultados = _query_set_filtrado(request, tipo)
    modelo = get_model('encuesta', params['modelo'])
    tabla = {}
    totales = get_total(resultados)
    options = params.get('options', None) 
    
    for key, grupo in resultados.items():
        if options:            
            tabla[key] = modelo.objects.filter(content_type=get_content_type(tipo), object_id__in=grupo.values_list('id', flat=True),
                                               **{params['field']:options}).distinct().values_list(params['field_values'])                
        else:
            tabla[key] = modelo.objects.filter(content_type=get_content_type(tipo), 
                                               object_id__in=grupo.values_list('id', flat=True)).distinct().values_list(params['field'])
        
    return render_to_response("monitoreo/lista_leyes.html", RequestContext(request, locals()))
Esempio n. 9
0
def mujeres_vbg(request, tipo):    
    titulo = '¿Conoce usted si en su comunidad existen mujeres que han vivido VBG?'
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}

    for op in ['si', 'no']:
        tabla[op.title()] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]
        
        for op in ['si', 'no']:
            tabla[op.title()].append(SituacionVBG.objects.filter(content_type=get_content_type(tipo), object_id__in=lista, conoce_mujeres=op).count())
    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)
    return render_to_response("monitoreo/generica_pie.html", RequestContext(request, locals()))
Esempio n. 10
0
def ha_ejercido_vbg(request, tipo):
    titulo = u'Considera usted que ejercido VBG contra una mujer el ultimo año?'
    resultados = _query_set_filtrado(request, 'hombres')
    tabla = {}

    for op in ['si', 'no']:
        tabla[op.title()] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]

        for op in ['si', 'no']:
            tabla[op.title()].append(PrevalenciaVBGHombre.objects.filter(content_type=get_content_type('hombres'), object_id__in=lista, ha_vivido_vbg=op).count())
    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)
    return render_to_response("monitoreo/generica_pie.html", RequestContext(request, locals()))
Esempio n. 11
0
def mujeres_representan(request, tipo):    
    titulo = u'¿En su comunidad existen mujeres que representan a otras mujeres?'
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}

    for op in ['si', 'no']:
        tabla[op.title()] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]
        
        for op in ['si', 'no']:
            tabla[op.title()].append(IncidenciaPolitica.objects.filter(content_type=get_content_type(tipo), object_id__in=lista, existen_mujeres=op).count())
    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)
    return render_to_response("monitoreo/generica_pie.html", RequestContext(request, locals()))
Esempio n. 12
0
def afeccion_vbg(request, tipo):    
    titulo = u'¿Cree usted que la VBG afecta a las mujeres, la familia y la comunidad?'
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}

    for op in ['si', 'no']:
        tabla[op.title()] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]

        for op in ['si', 'no']:
            tabla[op.title()].append(EfectoVBG.objects.filter(content_type=get_content_type(tipo), object_id__in=lista, afecta_mujeres=op).count())
    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)

    return render_to_response("monitoreo/generica_pie.html", RequestContext(request, locals()))
Esempio n. 13
0
def viven_con_pareja(request, tipo):
    from trocaire.encuesta.models import SI_NO
    titulo = u'¿Actualmente tiene esposo/a o compañero/a?'
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}

    for op in SI_NO:
        tabla[op[1]] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]
        
        for op in SI_NO:
            tabla[op[1]].append(ComposicionHogar.objects.filter(content_type=get_content_type(tipo), object_id__in=lista, tiene_pareja=op[0]).count())
    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)
    return render_to_response("monitoreo/generica_pie.html", RequestContext(request, locals()))
Esempio n. 14
0
def trabaja_fuera(request, tipo):
    titulo = u'¿Trabaja usted fuera del hogar?'
    resultados = _query_set_filtrado(request, tipo)
    tabla ={}
    
    for op in ['si', 'no']:
        tabla[op.title()] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]
        
        for op in ['si', 'no']:
            tabla[op.title()].append(InformacionSocioEconomica.objects.filter(content_type=get_content_type(tipo), 
                                                                              object_id__in=lista, trabaja_fuera=op).count())
    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)
    return render_to_response("monitoreo/generica_pie.html", RequestContext(request, locals()))
Esempio n. 15
0
def conoce_leyes(request, tipo):
    titulo = u'¿Sabe usted si en existe alguna ley que penaliza la violencia contra las mujeres?'
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}

    for op in SI_NO_RESPONDE:
        tabla[op[1]] = []
    
    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]

        for op in SI_NO_RESPONDE:
            tabla[op[1]].append(ConocimientoLey.objects.filter(content_type=get_content_type(tipo), object_id__in=lista, existe_ley=op[0]).count())
    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)
    
    return render_to_response("monitoreo/generica_pie.html", RequestContext(request, locals()))
Esempio n. 16
0
def expresion_vbg(request, tipo):    
    titulo = '¿De que manera cree usted que se expresa la VBG?'
    resultados = _query_set_filtrado(request, tipo=tipo)
    tabla = {}
    campos = [field for field in ExpresionVBG._meta.fields if field.get_internal_type() == 'CharField']
    for field in campos:
        tabla[field.verbose_name] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]

        for field in campos:
            tabla[field.verbose_name].append(ExpresionVBG.objects.filter(content_type=get_content_type(tipo), object_id__in=lista, ** {field.name: 'si'}).count())

    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)
    return render_to_response("monitoreo/generica_1.html", RequestContext(request, locals()))
Esempio n. 17
0
def generic_view_hm(request, tipo=None, ** params):
    titulo = params['titulo']
    template = params.get('template_name', 'monitoreo/generica_1.html')
    if tipo == None:
        tipo = params.get('tipo', '')
                    
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}
    opciones = params['options']
    modelo = get_model('encuesta', params['modelo'])

    for op in opciones:
        key, val = checkOpt(op, params['options'])
        tabla[key] = []

    for key, grupo in resultados.items():
        for op in opciones:
            key, val = checkOpt(op, params['options'])
            tabla[key].append(modelo.objects.filter(content_type=get_content_type(tipo), object_id__in=grupo.values_list('id', flat=True), 
                                                    ** {params['field']:val}).count())
    
    checkvalue = lambda x: sum(x)
    #mandar a chequear si la suma de valores es menos de 10 (opcional)
    if not params.get('nocheck', False) == True:        
        for key, value in tabla.items():
            if checkvalue(value) < 10:
                del tabla[key]
                
    #mandar a chequear si la suma de valores es cero (opcional)
    if params.get('checkcero', False) == True:
        for key, value in tabla.items():
            if sum(value) == 0:
                del tabla[key]

    totales = get_total(resultados)
    if tipo in ['mujeres', 'hombres']:
        tabla = get_list_with_total(tabla, totales)
    else:
        tabla = get_prom_lista_func(tabla, totales)
        
    #de no necesitar los grafos, activar esta variable nografo
    nografo = params.get('nografo', False)
    return render_to_response(template, locals(), RequestContext(request))
Esempio n. 18
0
def hombres_violencia_mujeres(request, tipo):    
    titulo = '¿Para usted los hombres ejercen violencia hacia las mujeres porque?'
    resultados = _query_set_filtrado(request, tipo=tipo)
    tabla = {}
    campos = [field for field in JustificacionVBG._meta.fields if field.get_internal_type() == 'CharField']

    for field in campos:
        tabla[field.verbose_name] = []

        for key, grupo in resultados.items():
            lista = []
            [lista.append(encuesta.id) for encuesta in grupo]

            tabla[field.verbose_name].append(JustificacionVBG.objects.filter(content_type=get_content_type(tipo), object_id__in=lista, ** {field.name: 'si'}).count())

    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)

    return render_to_response("monitoreo/generica_1.html", RequestContext(request, locals()))
Esempio n. 19
0
def edad_personas(request, tipo='mujeres', **params):
    titulo = params['titulo']
    options = params['options']
    modelo = get_model('encuesta', params['modelo'])
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}
    for op in options:
        key, val = checkOpt(op, options)
        tabla[key] = []
        
    for key, grupo in resultados.items():
        for op in options:
            key, val = checkOpt(op, options)
            query = modelo.objects.filter(content_type=get_content_type(tipo), object_id__in=grupo.values_list('id', flat=True))
            tabla[key].append((query.aggregate(campo=Sum(val))['campo'], round(query.aggregate(campo=Avg(val))['campo'], 1)))
    totales = get_total(resultados)   
    
    return render_to_response('monitoreo/generica_1.html', RequestContext(request, {'tabla': tabla, 'totales': totales, 'hide_perc': True, 
                                                                                    'graph_title': params['graph_title'],
                                                                                    'titulo': titulo, 'tipo': tipo}))
Esempio n. 20
0
def que_debe_hacer(request, tipo):    
    titulo = "¿Si un hombre le pega a su pareja que acciones deberia de tomar?"
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}
    opciones = QueDebeHacer.objects.all()

    for op in opciones:
        tabla[op] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]

        for op in opciones:
            tabla[op].append(AccionVBG.objects.filter(content_type=get_content_type(tipo), object_id__in=lista, accion_tomar=op).count())

    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)

    return render_to_response("monitoreo/generica_1.html", RequestContext(request, locals()))
Esempio n. 21
0
def negociacion_pareja(request, tipo):
    """Que se debe hacer para que una negociacion de pareja sea exitosa"""
    titulo = u'¿Que se debe hacer para que una negociacion de pareja sea exitosa?'
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}
    opciones = NegociacionExitosa.objects.all()

    for op in opciones:
        tabla[op] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]

        for op in opciones:
            tabla[op].append(ComunicacionAsertiva.objects.filter(content_type=get_content_type(tipo), object_id__in=lista, negociacion_exitosa=op).count())

    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)
    return render_to_response("monitoreo/generica_1.html", RequestContext(request, locals()))
Esempio n. 22
0
def decide_recursos(request, tipo):
    titulo = u'¿Mencione los recursos sobre los cuales ud decide?'
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}
    opciones = Recurso.objects.all()

    for op in opciones:
        tabla[op] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]

        for op in opciones:
            tabla[op].append(AccesoControlRecurso.objects.filter(content_type=get_content_type(tipo), 
                                                                      object_id__in=lista, 
                                                                      recursos_decide=op).count())
    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)    
    return render_to_response("monitoreo/generica_1.html", RequestContext(request, locals()))
Esempio n. 23
0
def persona_ejercido(request, tipo):
    titulo = u'¿Quién es la persona que ha ejercido VBG sobre usted?'
    resultados = _query_set_filtrado(request, 'mujeres')
    tabla = {}
    
    opciones = Quien.objects.all()
    for op in opciones:
        tabla[op] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]

        for op in opciones:
            tabla[op].append(PrevalenciaVBG.objects.filter(content_type=get_content_type('mujeres'), 
                                                                      object_id__in=lista, 
                                                                      quien=op).count())
    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)    
    return render_to_response("monitoreo/generica_1.html", RequestContext(request, locals()))    
Esempio n. 24
0
def calidad_servicios(request, tipo):
    titulo = u'¿Cómo valora Ud los servicios que las intituciones ofrecen a las mujeres que viven VBG?'
    from trocaire.encuesta.models import SERVICIOS
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}
    opciones = SERVICIOS
        
    for op in opciones:
        tabla[op[1]] = []
    
    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]
       
        for op in opciones:            
            tabla[op[1]].append(CalidadAtencion.objects.filter(content_type=get_content_type(tipo), 
                                                                    object_id__in=lista, 
                                                                    valor_servicio=op[0]).count())    
    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)
    return render_to_response("monitoreo/generica_pie.html", RequestContext(request, locals()))
Esempio n. 25
0
def satisfaccion(request, tipo):
    titulo = u'¿Qué tan satisfechas están las mujeres con quienes las representan?'
    from trocaire.encuesta.models import SATISFECHAS    
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}
    opciones = SATISFECHAS
        
    for op in opciones:
        tabla[op[1]] = []
    
    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]
       
        for op in opciones:            
            tabla[op[1]].append(IncidenciaPolitica.objects.filter(content_type=get_content_type(tipo), 
                                                                    object_id__in=lista, 
                                                                    satisfecha=op[0]).count())    
    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)
    return render_to_response("monitoreo/generica_1.html", RequestContext(request, locals()))
Esempio n. 26
0
def solucion_problema(request, tipo):
    titulo = u'¿Que se debe hacer para que la solucion a un conflicto entre la pareja sea exitoso?'
    from trocaire.encuesta.models import DES_AC
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}
    campos = [field for field in ComunicacionAsertiva._meta.fields if field.get_internal_type() == 'IntegerField' and not field.name == 'object_id']
    for field in campos:
        tabla[field.verbose_name] = {}
        for key, grupo in resultados.items():
            lista = []
            [lista.append(encuesta.id) for encuesta in grupo]

            tabla[field.verbose_name][key] = []            
            for op in DES_AC:
                tabla[field.verbose_name][key].append(ComunicacionAsertiva.objects.filter(content_type=get_content_type(tipo), object_id__in=lista, ** {field.name: op[0]}).count())

    totales = get_total(resultados)
    grafico = convertir_grafico(tabla)
    tabla = get_prom_dead_list3(tabla, totales)

    return render_to_response("monitoreo/solucion_problema.html", RequestContext(request, locals()))
Esempio n. 27
0
def actividades_hogar(request, tipo):
    """Cuales de las siguientes actividades realiza usted en su hogar"""
    from trocaire.encuesta.models import HOGAR
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}
    campos = [field for field in Corresponsabilidad._meta.fields if field.get_internal_type() == 'IntegerField' and not field.name == 'object_id']

    for field in campos:
        tabla[field.verbose_name] = {}
        for key, grupo in resultados.items():
            lista = []
            [lista.append(encuesta.id) for encuesta in grupo]

            tabla[field.verbose_name][key] = []
            for op in HOGAR:
                tabla[field.verbose_name][key].append(Corresponsabilidad.objects.filter(content_type=get_content_type(tipo), object_id__in=lista, ** {field.name: op[0]}).count())

    totales = get_total(resultados)
    grafico = convertir_grafico(tabla)
    tabla = get_prom_dead_list2(tabla, totales)
    return render_to_response("monitoreo/actividades_hogar.html", RequestContext(request, locals()))
Esempio n. 28
0
def que_hace_dinero(request, tipo):
    from trocaire.encuesta.models import QUE_HACE_DINERO
    titulo = u'¿Que hace usted con el dinero que gana?'
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}
    opciones = QUE_HACE_DINERO

    for op in opciones:
        tabla[op[1]] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]

        for op in opciones:
            tabla[op[1]].append(InformacionSocioEconomica.objects.filter(content_type=get_content_type(tipo), 
                                                                      object_id__in=lista, 
                                                                      hace_dinero=op[0]).count())
    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)    
    return render_to_response("monitoreo/generica_1.html", RequestContext(request, locals()))
Esempio n. 29
0
def aporte_ingresos(request, tipo):
    titulo = u'¿Quién a quienes aportan ingresos al hogar?'
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}
    
    opciones = Aporta.objects.all()

    for op in opciones:
        tabla[op] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]

        for op in opciones:
            tabla[op].append(InformacionSocioEconomica.objects.filter(content_type=get_content_type(tipo), 
                                                                      object_id__in=lista, 
                                                                      aportan=op).count())
    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)    
    return render_to_response("monitoreo/generica_1.html", RequestContext(request, locals()))
Esempio n. 30
0
def nivel_educativo(request, tipo):
    from trocaire.encuesta.models import NIVEL_EDUCATIVO
    titulo = u'¿Cuál es su nivel educativo más alto?'
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}
    
    opciones = NIVEL_EDUCATIVO

    for op in opciones:
        tabla[op[1]] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]

        for op in opciones:
            tabla[op[1]].append(InformacionSocioEconomica.objects.filter(content_type=get_content_type(tipo), 
                                                                      object_id__in=lista, 
                                                                      nivel_educativo=op[0]).count())
    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)    
    return render_to_response("monitoreo/generica_1.html", RequestContext(request, locals()))
Esempio n. 31
0
def mencione_recursos(request, tipo):
    titulo = u'¿Mencione los recursos de los que es dueña/o?'
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}
    opciones = Recurso.objects.all()

    for op in opciones:
        tabla[op] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]

        for op in opciones:
            tabla[op].append(
                AccesoControlRecurso.objects.filter(
                    content_type=get_content_type(tipo),
                    object_id__in=lista,
                    recursos=op).count())
    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)
    return render_to_response("monitoreo/generica_1.html",
                              RequestContext(request, locals()))
Esempio n. 32
0
def viven_con_pareja(request, tipo):
    from trocaire.encuesta.models import SI_NO
    titulo = u'¿Actualmente tiene esposo/a o compañero/a?'
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}

    for op in SI_NO:
        tabla[op[1]] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]

        for op in SI_NO:
            tabla[op[1]].append(
                ComposicionHogar.objects.filter(
                    content_type=get_content_type(tipo),
                    object_id__in=lista,
                    tiene_pareja=op[0]).count())
    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)
    return render_to_response("monitoreo/generica_pie.html",
                              RequestContext(request, locals()))
Esempio n. 33
0
def persona_ejercido(request, tipo):
    titulo = u'¿Quién es la persona que ha ejercido VBG sobre usted?'
    resultados = _query_set_filtrado(request, 'mujeres')
    tabla = {}

    opciones = Quien.objects.all()
    for op in opciones:
        tabla[op] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]

        for op in opciones:
            tabla[op].append(
                PrevalenciaVBG.objects.filter(
                    content_type=get_content_type('mujeres'),
                    object_id__in=lista,
                    quien=op).count())
    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)
    return render_to_response("monitoreo/generica_1.html",
                              RequestContext(request, locals()))
Esempio n. 34
0
def conoce_leyes(request, tipo):
    titulo = u'¿Sabe usted si en existe alguna ley que penaliza la violencia contra las mujeres?'
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}

    for op in SI_NO_RESPONDE:
        tabla[op[1]] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]

        for op in SI_NO_RESPONDE:
            tabla[op[1]].append(
                ConocimientoLey.objects.filter(
                    content_type=get_content_type(tipo),
                    object_id__in=lista,
                    existe_ley=op[0]).count())
    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)

    return render_to_response("monitoreo/generica_pie.html",
                              RequestContext(request, locals()))
Esempio n. 35
0
def que_hace_ante_vbg(request, tipo):
    """Que hace usted cuando existe una situación de VBG"""
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}
    campos = [
        field for field in AccionVBG._meta.fields
        if field.get_internal_type() == 'IntegerField'
        and not field.name == 'object_id'
    ]

    opciones = [1, 2, 3, 4, 5, 6]

    for field in campos:
        tabla[field.verbose_name] = {}
        for key, grupo in resultados.items():
            lista = []
            [lista.append(encuesta.id) for encuesta in grupo]
            tabla[field.verbose_name][key] = {}

            for op in opciones:
                tabla[field.verbose_name][key][op] = AccionVBG.objects.filter(
                    content_type=get_content_type(tipo),
                    object_id__in=lista,
                    **{
                        field.name: op - 1
                    }).count()
    totales = get_total(resultados)

    #---------------Inicia transformacion para grafico ------------------------
    grafico = {}
    for key, value in tabla.items():
        grafico[key] = {}
        for i in range(1, 5):
            grafico[key][i] = obtener_indice(tabla[key][i])

    return render_to_response("monitoreo/que_hace_ante_vbg.html",
                              RequestContext(request, locals()))
Esempio n. 36
0
def calidad_servicios(request, tipo):
    titulo = u'¿Cómo valora Ud los servicios que las intituciones ofrecen a las mujeres que viven VBG?'
    from trocaire.encuesta.models import SERVICIOS
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}
    opciones = SERVICIOS

    for op in opciones:
        tabla[op[1]] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]

        for op in opciones:
            tabla[op[1]].append(
                CalidadAtencion.objects.filter(
                    content_type=get_content_type(tipo),
                    object_id__in=lista,
                    valor_servicio=op[0]).count())
    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)
    return render_to_response("monitoreo/generica_pie.html",
                              RequestContext(request, locals()))
Esempio n. 37
0
def satisfaccion(request, tipo):
    titulo = u'¿Qué tan satisfechas están las mujeres con quienes las representan?'
    from trocaire.encuesta.models import SATISFECHAS
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}
    opciones = SATISFECHAS

    for op in opciones:
        tabla[op[1]] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]

        for op in opciones:
            tabla[op[1]].append(
                IncidenciaPolitica.objects.filter(
                    content_type=get_content_type(tipo),
                    object_id__in=lista,
                    satisfecha=op[0]).count())
    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)
    return render_to_response("monitoreo/generica_1.html",
                              RequestContext(request, locals()))
Esempio n. 38
0
def frecuencia(request, tipo):
    from trocaire.encuesta.models import FRECUENCIA2, FRECUENCIA
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}

    if tipo == 'mujeres':
        opciones = FRECUENCIA
        titulo = u'¿Con que frecuencia ha vivido VBG este último año?'
    elif tipo == 'hombres':
        titulo = u'¿Con que frecuencia ha ejercido VBG este último año?'
        opciones = FRECUENCIA2

    for op in opciones:
        tabla[op[1]] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]

        for op in opciones:
            if tipo == 'mujeres':
                tabla[op[1]].append(
                    PrevalenciaVBG.objects.filter(
                        content_type=get_content_type(tipo),
                        object_id__in=lista,
                        frecuencia=op[0]).count())
            elif tipo == 'hombres':
                tabla[op[1]].append(
                    PrevalenciaVBGHombre.objects.filter(
                        content_type=get_content_type(tipo),
                        object_id__in=lista,
                        frecuencia=op[0]).count())
    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)
    return render_to_response("monitoreo/generica_1.html",
                              RequestContext(request, locals()))
Esempio n. 39
0
def que_debe_hacer(request, tipo):
    titulo = "¿Si un hombre le pega a su pareja que acciones deberia de tomar?"
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}
    opciones = QueDebeHacer.objects.all()

    for op in opciones:
        tabla[op] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]

        for op in opciones:
            tabla[op].append(
                AccionVBG.objects.filter(content_type=get_content_type(tipo),
                                         object_id__in=lista,
                                         accion_tomar=op).count())

    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)

    return render_to_response("monitoreo/generica_1.html",
                              RequestContext(request, locals()))
Esempio n. 40
0
def que_hace_dinero(request, tipo):
    from trocaire.encuesta.models import QUE_HACE_DINERO
    titulo = u'¿Que hace usted con el dinero que gana?'
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}
    opciones = QUE_HACE_DINERO

    for op in opciones:
        tabla[op[1]] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]

        for op in opciones:
            tabla[op[1]].append(
                InformacionSocioEconomica.objects.filter(
                    content_type=get_content_type(tipo),
                    object_id__in=lista,
                    hace_dinero=op[0]).count())
    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)
    return render_to_response("monitoreo/generica_1.html",
                              RequestContext(request, locals()))
Esempio n. 41
0
def aporte_ingresos(request, tipo):
    titulo = u'¿Quién a quienes aportan ingresos al hogar?'
    resultados = _query_set_filtrado(request, tipo)
    tabla = {}

    opciones = Aporta.objects.all()

    for op in opciones:
        tabla[op] = []

    for key, grupo in resultados.items():
        lista = []
        [lista.append(encuesta.id) for encuesta in grupo]

        for op in opciones:
            tabla[op].append(
                InformacionSocioEconomica.objects.filter(
                    content_type=get_content_type(tipo),
                    object_id__in=lista,
                    aportan=op).count())
    totales = get_total(resultados)
    tabla = get_list_with_total(tabla, totales)
    return render_to_response("monitoreo/generica_1.html",
                              RequestContext(request, locals()))
Esempio n. 42
0
def lista_generica(request, tipo, **params):
    titulo = params['titulo']
    resultados = _query_set_filtrado(request, tipo)
    modelo = get_model('encuesta', params['modelo'])
    tabla = {}
    totales = get_total(resultados)
    options = params.get('options', None)

    for key, grupo in resultados.items():
        if options:
            tabla[key] = modelo.objects.filter(
                content_type=get_content_type(tipo),
                object_id__in=grupo.values_list('id', flat=True),
                **{
                    params['field']: options
                }).distinct().values_list(params['field_values'])
        else:
            tabla[key] = modelo.objects.filter(
                content_type=get_content_type(tipo),
                object_id__in=grupo.values_list(
                    'id', flat=True)).distinct().values_list(params['field'])

    return render_to_response("monitoreo/lista_leyes.html",
                              RequestContext(request, locals()))