1 | # -*- coding: utf-8 -*- |
---|
2 | """ |
---|
3 | SAPIC |
---|
4 | |
---|
5 | Copyleft (@) 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 | |
---|
16 | import time |
---|
17 | import datetime |
---|
18 | from django.contrib import messages |
---|
19 | from django.shortcuts import render |
---|
20 | from django.views.generic.edit import ( |
---|
21 | FormView, UpdateView |
---|
22 | ) |
---|
23 | from django.views.generic import ( |
---|
24 | TemplateView, ListView |
---|
25 | ) |
---|
26 | |
---|
27 | from explicacion_situacional.modelsEncuestas.modelsConsultas import ( |
---|
28 | Consulta |
---|
29 | ) |
---|
30 | from explicacion_situacional.modelsExplicacion.modelsExplicacionesSituacional import ( |
---|
31 | ExplicSitConsulta |
---|
32 | ) |
---|
33 | from explicacion_situacional.forms import ExplicacionForms |
---|
34 | |
---|
35 | from utils.views import LoginRequeridoPerAuth |
---|
36 | |
---|
37 | |
---|
38 | class 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 | |
---|
51 | class 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 | |
---|
64 | class 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) |
---|