source: sapic/explicacion_situacional/views/caracterizacionPoliticaView.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"""
3SAPIC
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 explicacion_situacional.models import ExplicacionSituacional, TipoPregunta
21
22from utils.views import LoginRequeridoPerAuth
23
24from explicacion_situacional.modelsEncuestas.modelsConsultas import (
25    Consulta
26)
27
28from explicacion_situacional.modelsEncuestas.modelsParticipacion import (
29    RespuestaSino, RespuestaOpciones,
30    RespuestaAbierta, RespuestaUbicacion
31)
32
33
34class CaracterizacionPoliticaView(LoginRequeridoPerAuth, TemplateView):
35    """!
36    Clase que muestra el templates de la caracterización política de la comunidad
37
38    @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve)
39    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
40    @date 30-005-2017
41    @version 1.0.0
42    """
43    template_name = "caracterizacion.politica.html"
44    group_required = [u"Administradores", u"Voceros", u"Integrantes"]
45
46    def get_context_data(self, **kwargs):
47        """!
48        Metodo que permite cargar de nuevo valores en los datos de contexto de la vista
49
50        @author Lully Troconis (ltroconis at cenditel.gob.ve)
51        @author Manuel Zambrano
52        @copyright <a href='​http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
53        @date 03-07-2018
54        @date 08-09-2018
55        @param self <b>{object}</b> Objeto que instancia la clase
56        @param kwargs <b>{object}</b> Objeto que contiene los datos de contexto
57        @return Retorna los datos de contexto
58        """
59        consulta = None
60        si_no, opciones, abierta, ubicacion, consultas = [], [], [], [], []
61        try:
62            servicios_pks = [pk_val for pk_val in range(19, 25)]
63            for pk in servicios_pks:
64                consulta = Consulta.objects.select_related().get(pk=pk)
65                respuesta_si_no = list(RespuestaSino.objects.filter(user=self.request.user, pregunta__consulta=consulta))
66                si_no = si_no + respuesta_si_no
67                respuesta_opciones = list(RespuestaOpciones.objects.filter(user = self.request.user,opcion__pregunta__consulta = consulta))
68                opciones = opciones + respuesta_opciones
69                respuesta_abierta = list(RespuestaAbierta.objects.filter(user = self.request.user, pregunta__consulta = consulta))
70                abierta = abierta + respuesta_abierta
71                respuesta_ubicacion = list(RespuestaUbicacion.objects.filter(user = self.request.user, pregunta__consulta = consulta))
72                ubicacion = ubicacion + respuesta_ubicacion
73                if respuesta_si_no or respuesta_abierta or respuesta_ubicacion or respuesta_opciones:
74                    consultas.append(pk)
75            kwargs['si_no'] = si_no
76            kwargs['opciones'] = opciones
77            kwargs['abierta'] = abierta
78            kwargs['ubicacion'] = ubicacion
79            kwargs['consultas'] = consultas
80        except Exception as e:
81            print("Ocurrió un error durante la consulta" + str(e))
82        return super(CaracterizacionPoliticaView, self).get_context_data(**kwargs)
83
84
85
86
Nota: Vea TracBrowser para ayuda de uso del navegador del repositorio.