source: consulta_publica/consulta/forms.py @ 7095598

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

Agregado el campo de universidades para actualizar perfil, y como campo en los reportes, se agregó también la funcionalidad de guardar en la vista, así como también su filtro en los reportes

  • Propiedad mode establecida a 100644
File size: 6.3 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 consulta.forms
8#
9# Formulario correspondiente a la aplicación consulta
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 .models import Consulta
17from base.functions import (
18    cargar_tipo_pregunta, cargar_entidad, cargar_municipios,
19    cargar_parroquias, cargar_preguntas, cargar_universidades
20    )
21from base.constant import (
22    OBJETIVOS, SECTORES, PARTICIPACION,
23    SECTOR_ESTUDIANTE, SECTOR_TRABAJADOR
24    )
25
26class ConsultaForm(forms.ModelForm):
27    """!
28    Clase del formulario que registra la consulta
29
30    @author Rodrigo Boet (rboet at cenditel.gob.ve)
31    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
32    @date 15-02-2017
33    @version 1.0.0
34    """
35   
36    ##  Nombre de la consulta
37    nombre_consulta = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control input-md',}))
38   
39    ## La consulta esta activa o no
40    activa = forms.BooleanField(required=False,initial=True)
41     
42   
43    class Meta:
44        model = Consulta
45        exclude = ['user']
46
47class ConsultaPreguntaForm(forms.ModelForm):
48    """!
49    Clase del formulario que registra la consulta y la pregunta
50
51    @author Rodrigo Boet (rboet at cenditel.gob.ve)
52    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
53    @date 15-02-2017
54    @version 1.0.0
55    """
56    def __init__(self, *args, **kwargs):
57        """!
58        Metodo que sobreescribe cuando se inicializa el formulario
59   
60        @author Rodrigo Boet (rboet at cenditel.gob.ve)
61        @copyright GNU/GPLv2
62        @date 15-02-2017
63        @param self <b>{object}</b> Objeto que instancia la clase
64        @param args <b>{list}</b> Lista de los argumentos
65        @param kwargs <b>{dict}</b> Diccionario con argumentos
66        @return Retorna el formulario validado
67        """
68        super(ConsultaPreguntaForm, self).__init__(*args, **kwargs)
69
70        self.fields['tipo_pregunta'].choices = cargar_tipo_pregunta()
71   
72    ##  Nombre de la consulta
73    nombre_consulta = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control input-md',}))
74   
75    ## La consulta esta activa o no
76    activa = forms.BooleanField(required=False,initial=True)
77   
78    ## El texto de la pregunta
79    texto_pregunta = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control input-md',}),
80        label="Texto de la Pregunta")
81   
82    ## Tipo de pregunta
83    tipo_pregunta = forms.ChoiceField(widget=forms.Select(attrs={'class':'form-control'}),
84        label="Tipo de Pregunta")
85   
86   
87    class Meta:
88        model = Consulta
89        exclude = ['user']
90       
91class ConsultaSearchForm(forms.Form):
92    """!
93    Clase del formulario para realizar busquedas y generar reportes
94
95    @author Rodrigo Boet (rboet at cenditel.gob.ve)
96    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
97    @date 31-05-2017
98    @version 1.0.0
99    """
100    def __init__(self, *args, **kwargs):
101        """!
102        Metodo que sobreescribe cuando se inicializa el formulario
103   
104        @author Rodrigo Boet (rboet at cenditel.gob.ve)
105        @copyright GNU/GPLv2
106        @date 31-05-2017
107        @param self <b>{object}</b> Objeto que instancia la clase
108        @param args <b>{list}</b> Lista de los argumentos
109        @param kwargs <b>{dict}</b> Diccionario con argumentos
110        @return Retorna el formulario validado
111        """
112        super(ConsultaSearchForm, self).__init__(*args, **kwargs)
113               
114        self.fields['estado'].choices = cargar_entidad()
115        self.fields['municipio'].choices = cargar_municipios()
116        self.fields['parroquia'].choices = cargar_parroquias()
117        self.fields['tipo_pregunta'].choices = cargar_preguntas(3)
118        self.fields['universidad'].choices = cargar_universidades()
119   
120    ## Tipo de pregunta para generar el reporte
121    tipo_pregunta = forms.ChoiceField(widget=forms.Select(attrs={'class':'form-control'}),
122        label="Tipo de Pregunta")
123   
124    ## Objetivo de la constituyente
125    objetivo = forms.ChoiceField(
126        widget=forms.Select(attrs={'class':'form-control'}),
127        label="Objetivo de la Asamblea Nacional Constituyente",
128        choices = (('','Seleccione...'),)+OBJETIVOS, required = False
129        )
130   
131    ## estado
132    estado = forms.ChoiceField(widget=forms.Select(attrs={'class': 'form-control input-md',
133        'onchange': "actualizar_combo(this.value,'base','Municipio','entidad','codigo','nombre','id_municipio')"}),
134        required = False)
135   
136    ## municipio
137    municipio = forms.ChoiceField(widget=forms.Select(attrs={'class': 'form-control input-md',
138        'onchange': "actualizar_combo(this.value,'base','Parroquia','municipio','codigo','nombre','id_parroquia')"}),
139        required = False)
140   
141    ## parroquia
142    parroquia = forms.ChoiceField(widget=forms.Select(attrs={'class': 'form-control input-md',}),
143        required = False)
144   
145    ## sector
146    sector = forms.ChoiceField(
147        widget=forms.Select(attrs={'class': 'form-control input-md','onchange':'mostrar_sector(this.value);'}),
148        label="Sector",choices=(('','Seleccione...'),)+SECTORES,required = False
149        )
150   
151    ## sector trabajador
152    sector_trabajador = forms.ChoiceField(
153        widget=forms.Select(attrs={'class': 'form-control input-md'}),
154        label="Sector Trabajador",choices=(('','Seleccione...'),)+SECTOR_TRABAJADOR,
155        required = False
156        )
157   
158    ## sector estudiante
159    sector_estudiante = forms.ChoiceField(
160        widget=forms.Select(attrs={'class': 'form-control input-md','onchange':'mostrar_universidad(this.value)'}),
161        label="Sector Estudiante",choices=(('','Seleccione...'),)+SECTOR_ESTUDIANTE,
162        required = False
163        )
164   
165    ## Universidad
166    universidad = forms.ChoiceField(
167        widget=forms.Select(attrs={'class': 'form-control input-md',}),
168        label="Institución",required = False
169        )
Nota: Vea TracBrowser para ayuda de uso del navegador del repositorio.