source: sapic/organizaciones/forms.py @ 9120776

Last change on this file since 9120776 was a100574, checked in by William Páez <wpaez@…>, 6 años ago

agragadas validaciones en los campos: documento de identidad, teléfono, rif del consejo comunal y arreglado error en documento de identidad creando un vocero

  • Propiedad mode establecida a 100644
File size: 6.1 KB
Ver.Línea 
[10f099e]1# -*- coding: utf-8 -*-# -*- coding: utf-8 -*-
2"""!
3Forms para generar los formulario del modulo organizaciones sociales
4
5@author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve)
6@copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
7@date 29-05-2017
8@version 1.0.0
9"""
[fcaaf27]10from django import forms
[10f099e]11from django.forms import (
[3b38b3f]12    ModelForm,  modelform_factory, inlineformset_factory
13    )
[fcaaf27]14
15from .models import *
[10f099e]16
[3b38b3f]17from utils.views import (
18    obtenerEstados, listMunicipios
19    )
[10f099e]20
[cd20b73]21from organizaciones.models import OrganizacionSocial
[a100574]22from django.core import validators
[10f099e]23
24class FormularioRegisterOrgSocial(ModelForm):
25    """!
26    Clase que permite crear el formulario para registrar organizaciones sociales
27
28    @author Ing. Leonel P. Hernandez M. (lhernandez 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 09-01-2017
31    @version 1.0.0
32    """
33    estados = obtenerEstados()
34    municipios = listMunicipios()
[6d6c368]35    estado = forms.ChoiceField(required=False, choices=[("", "Seleccione Estado")] +
[10f099e]36    [(est["id"], est["nombre"]) for est in estados])
37    estado.widget.attrs.update({'class':'form-control'})
[6d6c368]38    municipio = forms.ChoiceField(required=False, choices=[("", "Seleccione Municipio")] +
[10f099e]39    [(mun["id"], mun["nombre"]) for mun in municipios])
40    municipio.widget.attrs.update({'class':'form-control'})
41    class Meta:
42        model = OrganizacionSocial
43        fields = '__all__'
44
45    def __init__(self, *args, **kwargs):
46        super(FormularioRegisterOrgSocial, self).__init__(*args, **kwargs)
[398393f]47        self.fields['fk_tipo_organizacion'].empty_label = 'Seleccione el Tipo De Organización'
[10f099e]48        self.fields['fk_tipo_organizacion'].widget.attrs.update({'class': 'form-control'})
[398393f]49        self.fields['fk_tipo_organizacion'].label= 'Tipo de Organización'
[10f099e]50        self.fields['codigo'].widget.attrs.update({'class': 'form-control',
[039f3ce]51                                                   'placeholder': 'Código de la Organización Comunal'})
[10f099e]52        self.fields['rif'].widget.attrs.update({'class': 'form-control',
[a100574]53                                                   'placeholder': 'C000000000'})
54        self.fields['rif'].validators=[
55            validators.RegexValidator(
56                r'^C[\d]{9}$','Introduzca un rif válido. Solo se permite la letra C y 9 números.'
57            ),
58        ]
59
[10f099e]60        self.fields['situr'].widget.attrs.update({'class': 'form-control',
61                                                   'placeholder': 'SITUR'})
62        self.fields['nombre'].widget.attrs.update({'class': 'form-control',
[039f3ce]63                                                   'placeholder': 'Nombre de la Organización Comunal'})
[10f099e]64        self.fields['email'].widget.attrs.update({'class': 'form-control',
[039f3ce]65                                                   'placeholder': 'Email de la Organización Comunal'})
[10f099e]66        self.fields['fecha_conformacion'].widget.attrs.update(
67                                            {'class': 'form-control',
68                                             'placeholder':
[398393f]69                                             'Fecha de Conformación',
[10f099e]70                                             'readonly':
71                                             'readonly'})
72        self.fields['sector'].widget.attrs.update({'class': 'form-control',
[039f3ce]73                                                   'placeholder': 'Sector de la Organización Comunal'})
[10f099e]74        self.fields['localidad'].widget.attrs.update({'class': 'form-control'})
75        self.fields['localidad'].label = 'Parroquia'
76        self.fields['localidad'].empty_label = 'Seleccione la Parroquia'
77        self.fields['activa'].widget.attrs.update({'class': 'form-control',
78                                                   'data-toggle': 'toggle',
79                                                   'data-on': 'Si',
80                                                   'data-off': 'No',
81                                                   'checked': 'checked'})
[398393f]82        self.fields['activa'].label = "¿La Organización se encuentra Activa?"
[10f099e]83
84
85class FormularioVocero(ModelForm):
86    """!
87    Clase que crea el formulario para los objetivos especificos
88
89    @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve)
90    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
91    @date 09-01-2017
92    @version 1.0.0
93    """
94    class Meta:
95        model = Vocero
[3b6f078]96        fields = ['fk_tipo_documento', 'nombres', 'apellidos', 'documento_identidad']
[10f099e]97
98    def __init__(self, *args, **kwargs):
99        super(FormularioVocero, self).__init__(*args, **kwargs)
100        self.fields['fk_tipo_documento'].widget.attrs.update(
101                                            {'class': 'form-control'})
102        self.fields['fk_tipo_documento'].empty_label = 'Seleccione el Tipo De Documento'
[dce0bae]103        self.fields['fk_tipo_documento'].label = "Tipo de Documento"
[10f099e]104        self.fields['nombres'].widget.attrs.update(
105                                            {'class': 'form-control',
106                                             'placeholder':
107                                             'Nombres'})
108        self.fields['apellidos'].widget.attrs.update(
109                                            {'class': 'form-control',
110                                             'placeholder':
111                                             'Apellidos'})
112        self.fields['documento_identidad'].widget.attrs.update(
113                                            {'class': 'form-control',
114                                             'placeholder':
115                                             'Documento de Identidad'})
116
[3b6f078]117campos = ('fk_tipo_documento', 'nombres', 'apellidos', 'documento_identidad',)
[1a6ed0e]118
119FormsetObj = modelform_factory(Vocero, form=FormularioVocero, fields=campos)
120
[3b6f078]121FormsetVocero = inlineformset_factory(OrganizacionSocial, Vocero, form=FormsetObj,
[1a6ed0e]122                                                fields=campos, fk_name='fk_org_social',
[3b6f078]123                                                min_num=1, extra=0, validate_min=True,
[039f3ce]124                                                can_delete=True)
Nota: Vea TracBrowser para ayuda de uso del navegador del repositorio.