source: sapic/explicacion_situacional/views/caracterizacionSocialView.py @ 0c17711

Last change on this file since 0c17711 was 39b8a44, checked in by Manuel Zambrano <mzambrano595@…>, 6 años ago

Correcion del sub-modulo caracterizacion politica, implementacion de la funcion editar respuestas, correccion del campo tipo_pregunta en el pk:181 de initial_data_preguntas.json

  • Propiedad mode establecida a 100644
File size: 3.8 KB
Línea 
1# -*- coding: utf-8 -*-
2"""
3Sistema Automatizado de Planificación Integral Comunal SAPIC
4
5Copyleft (@) 2017 CENDITEL nodo Mérida - Copyleft (@) 2017 CENDITEL nodo Mérida - https://planificacion.cenditel.gob.ve/trac/wiki/WikiStart#a5.-SistemaAutomatizadodePlanificaciónIntegralComunalSAPIC
6"""
7## @package explicacion_situacional.views.caracterizacionFisicaViews
8#
9# Vistas correspondientes a la explicacion situacional
10# @author Ing. Leonel Paolo Hernandez Macchiarulo (lhernandez at cenditel.gob.ve)
11# @author <a href='http://www.cenditel.gob.ve'>Centro Nacional de Desarrollo e Investigación en Tecnologías Libres
12# (CENDITEL) nodo Mérida - Venezuela</a>
13# @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
14# @version 1.0
15
16from django.views.generic import (
17    TemplateView,
18)
19
20from django.contrib import messages
21from utils.views import LoginRequeridoPerAuth
22
23from explicacion_situacional.modelsEncuestas.modelsConsultas import (
24    Consulta,
25)
26
27from explicacion_situacional.modelsEncuestas.modelsParticipacion import (
28    RespuestaSino, RespuestaOpciones,
29    RespuestaAbierta, RespuestaUbicacion
30)
31
32
33class CaracterizacionSocialView(LoginRequeridoPerAuth, TemplateView):
34    """!
35    Clase que muestra el templates de la caracterización social de la comunidad
36
37    @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve)
38    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
39    @date 30-05-2017
40    @version 1.0.0
41    """
42    template_name = "caracterizacion.social.html"
43    group_required = [u"Administradores", u"Voceros", u"Integrantes"]
44
45    def get_context_data(self, **kwargs):
46        """!
47        Metodo que permite cargar de nuevo valores en los datos de contexto de la vista
48
49        @author Lully Troconis (ltroconis at cenditel.gob.ve)
50        @author Manuel Zambrano
51        @copyright <a href='​http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
52        @date 03-07-2018
53        @date 27-08-2018
54        @param self <b>{object}</b> Objeto que instancia la clase
55        @param kwargs <b>{object}</b> Objeto que contiene los datos de contexto
56        @return Retorna los datos de contexto
57        """
58        consulta = None
59        si_no, opciones, abierta, ubicacion, consultas = [], [], [], [], []
60        try:
61            servicios_pks = [pk_val for pk_val in range(3, 19)]
62            for pk in servicios_pks:
63                consulta = Consulta.objects.select_related().get(pk=pk)
64                respuesta_si_no = list(RespuestaSino.objects.filter(user=self.request.user, pregunta__consulta=consulta))
65                si_no = si_no + respuesta_si_no
66                respuesta_opciones = list(RespuestaOpciones.objects.filter(user = self.request.user,opcion__pregunta__consulta = consulta))
67                opciones = opciones + respuesta_opciones
68                respuesta_abierta = list(RespuestaAbierta.objects.filter(user = self.request.user, pregunta__consulta = consulta))
69                abierta = abierta + respuesta_abierta
70                respuesta_ubicacion = list(RespuestaUbicacion.objects.filter(user = self.request.user, pregunta__consulta = consulta))
71                ubicacion = ubicacion + respuesta_ubicacion
72                if respuesta_si_no or respuesta_abierta or respuesta_ubicacion or respuesta_opciones:
73                    consultas.append(pk)
74            kwargs['si_no'] = si_no
75            kwargs['opciones'] = opciones
76            kwargs['abierta'] = abierta
77            kwargs['ubicacion'] = ubicacion
78            kwargs['consultas'] = consultas
79        except Exception as e:
80            print("Ocurrió un error durante la consulta" + str(e))
81
82        return super(CaracterizacionSocialView, self).get_context_data(**kwargs)
83           
84
85       
86       
87
88
89
Nota: Vea TracBrowser para ayuda de uso del navegador del repositorio.