1 | # -*- coding: utf-8 -*- |
---|
2 | """ |
---|
3 | Sistema de Consulta Pública |
---|
4 | |
---|
5 | Copyleft (@) 2017 CENDITEL nodo Mérida - https://planificacion.cenditel.gob.ve/trac/wiki/ModeladoTopicos_2017 |
---|
6 | """ |
---|
7 | ## @package participacion.forms |
---|
8 | # |
---|
9 | # Formulario correspondiente a la aplicación participación |
---|
10 | # @author Rodrigo Boet (rboet 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 | from django import forms |
---|
16 | from base.functions import ( |
---|
17 | cargar_consulta, cargar_ministerios, cargar_vicepresidencias, |
---|
18 | cargar_ambitos, cargar_sectores, cargar_entidad, cargar_municipios, |
---|
19 | cargar_parroquias |
---|
20 | ) |
---|
21 | from base.models import Municipio, Parroquia |
---|
22 | |
---|
23 | |
---|
24 | class ParticipacionSelectForm(forms.Form): |
---|
25 | """! |
---|
26 | Clase del formulario que muestra las consultas |
---|
27 | |
---|
28 | @author Rodrigo Boet (rboet at cenditel.gob.ve) |
---|
29 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
30 | @date 22-02-2017 |
---|
31 | @version 1.0.0 |
---|
32 | """ |
---|
33 | |
---|
34 | def __init__(self, *args, **kwargs): |
---|
35 | """! |
---|
36 | Metodo que sobreescribe cuando se inicializa el formulario |
---|
37 | |
---|
38 | @author Rodrigo Boet (rboet at cenditel.gob.ve) |
---|
39 | @copyright GNU/GPLv2 |
---|
40 | @date 22-02-2017 |
---|
41 | @param self <b>{object}</b> Objeto que instancia la clase |
---|
42 | @param args <b>{list}</b> Lista de los argumentos |
---|
43 | @param kwargs <b>{dict}</b> Diccionario con argumentos |
---|
44 | @return Retorna el formulario validado |
---|
45 | """ |
---|
46 | super(ParticipacionSelectForm, self).__init__(*args, **kwargs) |
---|
47 | |
---|
48 | self.fields['consultas'].choices = cargar_consulta() |
---|
49 | |
---|
50 | ## Consulta |
---|
51 | consultas = forms.ChoiceField(widget=forms.Select(attrs={'class':'form-control'}), |
---|
52 | label="Selecione una consulta") |
---|
53 | |
---|
54 | |
---|
55 | class ParticipacionSearchForm(forms.Form): |
---|
56 | """! |
---|
57 | Clase del formulario de búsqueda |
---|
58 | |
---|
59 | @author Rodrigo Boet (rboet at cenditel.gob.ve) |
---|
60 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
61 | @date 23-02-2017 |
---|
62 | @version 1.0.0 |
---|
63 | """ |
---|
64 | |
---|
65 | def __init__(self, *args, **kwargs): |
---|
66 | super(ParticipacionSearchForm, self).__init__(*args, **kwargs) |
---|
67 | self.fields['entes'].choices = (('','Seleccione..'),)+cargar_vicepresidencias()+cargar_ministerios() |
---|
68 | self.fields['ambito'].choices = cargar_ambitos() |
---|
69 | self.fields['sector'].choices = cargar_sectores() |
---|
70 | self.fields['estado'].choices = cargar_entidad() |
---|
71 | self.fields['municipio'].choices = cargar_municipios() |
---|
72 | self.fields['parroquia'].choices = cargar_parroquias() |
---|
73 | |
---|
74 | # Si se ha seleccionado un estado establece el listado de municipios y elimina el atributo disable |
---|
75 | if 'estado' in self.data and self.data['estado']: |
---|
76 | self.fields['municipio'].widget.attrs.pop('disabled') |
---|
77 | self.fields['municipio'].queryset=Municipio.objects.filter(entidad=self.data['estado']) |
---|
78 | |
---|
79 | # Si se ha seleccionado un municipio establece el listado de parroquias y elimina el atributo disable |
---|
80 | if 'municipio' in self.data and self.data['municipio']: |
---|
81 | self.fields['parroquia'].widget.attrs.pop('disabled') |
---|
82 | self.fields['parroquia'].queryset=Parroquia.objects.filter(municipio=self.data['municipio']) |
---|
83 | |
---|
84 | ## Entes |
---|
85 | entes = forms.ChoiceField(widget=forms.Select(attrs={'class':'form-control'}), |
---|
86 | label="Selecione un ente", required=False) |
---|
87 | |
---|
88 | ## Estado |
---|
89 | estado = forms.ChoiceField(widget=forms.Select(attrs={'class': 'form-control input-md', |
---|
90 | 'onchange': "actualizar_combo(this.value,'base','Municipio','entidad','codigo','nombre','id_municipio')"}), |
---|
91 | required=False) |
---|
92 | |
---|
93 | ## Municipio |
---|
94 | municipio = forms.ChoiceField(widget=forms.Select(attrs={'class': 'form-control input-md','disabled':'disabled', |
---|
95 | 'onchange': "actualizar_combo(this.value,'base','Parroquia','municipio','codigo','nombre','id_parroquia')"}), |
---|
96 | required=False) |
---|
97 | |
---|
98 | ## Parroquia |
---|
99 | parroquia = forms.ChoiceField(widget=forms.Select(attrs={'class': 'form-control input-md','disabled':'disabled'}),required=False) |
---|
100 | |
---|
101 | ## Ãmbito |
---|
102 | ambito = forms.ChoiceField(widget=forms.Select(attrs={'class':'form-control'}), |
---|
103 | label="Selecione un ambito",required=False) |
---|
104 | |
---|
105 | ## Sector |
---|
106 | sector = forms.ChoiceField(widget=forms.Select(attrs={'class':'form-control'}), |
---|
107 | label="Selecione el sector",required=False) |
---|