# -*- coding: utf-8 -*- """ Sistema de Consulta Pública Copyleft (@) 2017 CENDITEL nodo Mérida - https://planificacion.cenditel.gob.ve/trac/wiki/ModeladoTopicos_2017 """ ## @package consulta.forms # # Formulario correspondiente a la aplicación consulta # @author Rodrigo Boet (rboet at cenditel.gob.ve) # @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres # (CENDITEL) nodo Mérida - Venezuela # @copyright GNU Public License versión 2 (GPLv2) # @version 1.0 from django import forms from .models import Consulta from base.functions import ( cargar_tipo_pregunta, cargar_entidad, cargar_municipios, cargar_parroquias, cargar_preguntas ) from base.constant import ( OBJETIVOS, SECTORES, PARTICIPACION, SECTOR_ESTUDIANTE, SECTOR_TRABAJADOR ) class ConsultaForm(forms.ModelForm): """! Clase del formulario que registra la consulta @author Rodrigo Boet (rboet at cenditel.gob.ve) @copyright GNU Public License versión 2 (GPLv2) @date 15-02-2017 @version 1.0.0 """ ## Nombre de la consulta nombre_consulta = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control input-md',})) ## La consulta esta activa o no activa = forms.BooleanField(required=False,initial=True) class Meta: model = Consulta exclude = ['user'] class ConsultaPreguntaForm(forms.ModelForm): """! Clase del formulario que registra la consulta y la pregunta @author Rodrigo Boet (rboet at cenditel.gob.ve) @copyright GNU Public License versión 2 (GPLv2) @date 15-02-2017 @version 1.0.0 """ def __init__(self, *args, **kwargs): """! Metodo que sobreescribe cuando se inicializa el formulario @author Rodrigo Boet (rboet at cenditel.gob.ve) @copyright GNU/GPLv2 @date 15-02-2017 @param self {object} Objeto que instancia la clase @param args {list} Lista de los argumentos @param kwargs {dict} Diccionario con argumentos @return Retorna el formulario validado """ super(ConsultaPreguntaForm, self).__init__(*args, **kwargs) self.fields['tipo_pregunta'].choices = cargar_tipo_pregunta() ## Nombre de la consulta nombre_consulta = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control input-md',})) ## La consulta esta activa o no activa = forms.BooleanField(required=False,initial=True) ## El texto de la pregunta texto_pregunta = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control input-md',}), label="Texto de la Pregunta") ## Tipo de pregunta tipo_pregunta = forms.ChoiceField(widget=forms.Select(attrs={'class':'form-control'}), label="Tipo de Pregunta") class Meta: model = Consulta exclude = ['user'] class ConsultaSearchForm(forms.Form): """! Clase del formulario para realizar busquedas y generar reportes @author Rodrigo Boet (rboet at cenditel.gob.ve) @copyright GNU Public License versión 2 (GPLv2) @date 31-05-2017 @version 1.0.0 """ def __init__(self, *args, **kwargs): """! Metodo que sobreescribe cuando se inicializa el formulario @author Rodrigo Boet (rboet at cenditel.gob.ve) @copyright GNU/GPLv2 @date 31-05-2017 @param self {object} Objeto que instancia la clase @param args {list} Lista de los argumentos @param kwargs {dict} Diccionario con argumentos @return Retorna el formulario validado """ super(ConsultaSearchForm, self).__init__(*args, **kwargs) self.fields['estado'].choices = cargar_entidad() self.fields['municipio'].choices = cargar_municipios() self.fields['parroquia'].choices = cargar_parroquias() self.fields['tipo_pregunta'].choices = cargar_preguntas(3) ## Tipo de pregunta para generar el reporte tipo_pregunta = forms.ChoiceField(widget=forms.Select(attrs={'class':'form-control'}), label="Tipo de Pregunta") ## Objetivo de la constituyente objetivo = forms.ChoiceField( widget=forms.Select(attrs={'class':'form-control'}), label="Objetivo de la Asamblea Nacional Constituyente", choices = (('','Seleccione...'),)+OBJETIVOS, required = False ) ## estado estado = forms.ChoiceField(widget=forms.Select(attrs={'class': 'form-control input-md', 'onchange': "actualizar_combo(this.value,'base','Municipio','entidad','codigo','nombre','id_municipio')"}), required = False) ## municipio municipio = forms.ChoiceField(widget=forms.Select(attrs={'class': 'form-control input-md', 'onchange': "actualizar_combo(this.value,'base','Parroquia','municipio','codigo','nombre','id_parroquia')"}), required = False) ## parroquia parroquia = forms.ChoiceField(widget=forms.Select(attrs={'class': 'form-control input-md',}), required = False) ## sector sector = forms.ChoiceField( widget=forms.Select(attrs={'class': 'form-control input-md','onchange':'mostrar_sector(this.value);'}), label="Sector",choices=(('','Seleccione...'),)+SECTORES,required = False ) ## sector trabajador sector_trabajador = forms.ChoiceField( widget=forms.Select(attrs={'class': 'form-control input-md'}), label="Sector Trabajador",choices=(('','Seleccione...'),)+SECTOR_TRABAJADOR, required = False ) ## sector estudiante sector_estudiante = forms.ChoiceField( widget=forms.Select(attrs={'class': 'form-control input-md',}), label="Sector Estudiante",choices=(('','Seleccione...'),)+SECTOR_ESTUDIANTE, required = False )