source: consulta_publica/participacion/forms.py

baseconstituyenteestudiantesgeneralplan_patriasala
Last change on this file was e9ca953, checked in by rudmanmrrod <rudman22@…>, 7 años ago

Agregada consulta al servicio por estado,municipio,parroquia,ambito y sector

  • Propiedad mode establecida a 100644
File size: 4.5 KB
Línea 
1# -*- coding: utf-8 -*-
2"""
3Sistema de Consulta Pública
4
5Copyleft (@) 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
15from django import forms
16from base.functions import (
17    cargar_consulta, cargar_ministerios, cargar_vicepresidencias,
18    cargar_ambitos, cargar_sectores, cargar_entidad, cargar_municipios,
19    cargar_parroquias
20)
21from base.models import Municipio, Parroquia
22
23
24class 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
55class 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)
Nota: Vea TracBrowser para ayuda de uso del navegador del repositorio.