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

erwinexplicacion_situacionaltaller_django
Last change on this file since 0c17711 was c609db6, checked in by lhernandez <lhernandez@…>, 7 años ago

Implementando desarrollo de consultas publicas a las encuesta de la explicacion situacional de una organizacion social, se implemento para la encuesta de Condición De Suelos, Vientos, Aguas, Viviendas Y Servicios Públicos De Mi Comunidad

  • Propiedad mode establecida a 100644
File size: 4.2 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
16import time
17import datetime 
18from django.contrib import messages
19from django.shortcuts import render
20from django.views.generic.edit import (
21    FormView, UpdateView
22)
23from django.views.generic import (
24    TemplateView, ListView
25)
26
27from explicacion_situacional.modelsEncuestas.modelsConsultas import (
28    Consulta
29    )
30from explicacion_situacional.modelsExplicacion.modelsExplicacionesSituacional import (
31    ExplicSitConsulta
32    )
33from explicacion_situacional.forms import ExplicacionForms
34
35from utils.views import LoginRequeridoPerAuth
36
37
38class ExplicacionSituacionalView(LoginRequeridoPerAuth, TemplateView):
39    """!
40    Clase que muestra el templates de la caracterización física de la comunidad
41
42    @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve)
43    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
44    @date 30-005-2017
45    @version 1.0.0
46    """
47    template_name = "explicacion.situacional.html"
48    group_required = [u"Administradores", u"Voceros", u"Integrantes"]
49
50
51class CaracterizacionFisicaView(LoginRequeridoPerAuth, TemplateView):
52    """!
53    Clase que muestra el templates de la caracterización física de la comunidad
54
55    @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve)
56    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
57    @date 30-005-2017
58    @version 1.0.0
59    """
60    template_name = "caracterizacion.fisica.html"
61    group_required = [u"Administradores", u"Voceros", u"Integrantes"]
62
63
64class RegisterUbicMapView(FormView):
65    """!
66    Clase que controla el formulario en la vista de la explicacion situacional
67
68    @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve)
69    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
70    @date 18-09-2017
71    @version 1.0.0
72    """
73    form_class = ExplicacionForms
74    template_name = 'map.explicacion.situacional.html'
75    success_url = '/inicio/'
76
77    def form_valid(self, form, **kwargs):
78        """
79        Funcion que valida el formulario de registro de la explicacion situacional
80        @return: Dirige con un mensaje de exito a el home
81        """
82        ahora = int(time.strftime("%Y"))
83        explicacion_anho = ExplicSitConsulta.objects.filter(fk_explicacion__fk_organizacion=form.cleaned_data['fk_organizacion'], 
84                                         fecha__gt=datetime.date(ahora, 1, 1), fecha__lt=datetime.date(ahora, 12, 31)).exists()
85        if explicacion_anho:
86            self.success_url = '/ubicacion-geografica/'
87            messages.error(self.request, "Error al agregar el mapa y la \
88                                          ubicación cartográfica de \
89                                          la organizacion social, ya se \
90                                          registro la informacion para \
91                                          de año")
92            return super(RegisterUbicMapView, self).form_valid(form)
93        else:
94            cartografia = form.save()
95            consultas = Consulta.objects.all()
96            for consulta in consultas:
97                exp_sit = ExplicSitConsulta()
98                exp_sit.fk_consulta = Consulta.objects.get(pk=consulta.pk)
99                exp_sit.fk_explicacion = cartografia
100                exp_sit.save()
101            messages.success(self.request, "Explicacion situacional, \
102                                            registrada con exito")
103            return super(RegisterUbicMapView, self).form_valid(form)
Nota: Vea TracBrowser para ayuda de uso del navegador del repositorio.