source: seiven/productivo/forms.py

Last change on this file was e0640af, checked in by Ing. Roldan D. Vargas G <rvargas@…>, 6 años ago

servicios para la consulta de datos a sidepro

  • Propiedad mode establecida a 100644
File size: 4.3 KB
Línea 
1"""
2Sistema Estadístico Integral de Venezuela - (SEIVEN)
3
4Copyleft (@) 2015 CENDITEL nodo Mérida - https://mpv.cenditel.gob.ve/seiven
5"""
6## @namespace productivo.forms
7#
8# Contiene las clases, atributos y métodos para los formularios a implementar en el módulo productivo
9# @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
10# @author <a href='http://www.cenditel.gob.ve'>Centro Nacional de Desarrollo e Investigación en Tecnologías Libres
11# (CENDITEL) nodo Mérida - Venezuela</a>
12# @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
13from __future__ import unicode_literals
14
15from django.forms import (
16    ChoiceField, CharField, Select, TextInput, ModelChoiceField, SelectMultiple, CheckboxInput, RadioSelect
17)
18from django.utils.encoding import python_2_unicode_compatible
19from django.utils.translation import ugettext_lazy as _
20from django import forms
21
22from base.constant import ANHOS_CONSULTA, TIPOS_ACTIVIDAD_ECONOMICA, TIPOS_UNIDAD
23from api_client.services import api_anho_registro, api_estados
24from .models import Estado, AnhoRegistro
25
26def anhos():
27    lista = ('', str(_('Seleccione...'))),
28
29    try:
30        for year in api_anho_registro()['results']:
31            lista += (year['anho'], year['anho']),
32    except Exception as e:
33        pass
34
35    return lista
36
37def estados():
38    lista = ('', str(_('Seleccione...'))),
39
40    try:
41        for edo in api_estados()['results']:
42            lista += (edo['id'], edo['nombre']),
43    except Exception as e:
44        pass
45
46    return lista
47
48@python_2_unicode_compatible
49class AnhoForm(forms.Form):
50
51    ## Año de consulta
52    anho = ChoiceField(
53        label=_(u"Año"), choices=anhos(),
54        widget=Select(attrs={
55            'class': 'select2 select2-offscreen form-control select-anho', 'data-toggle': 'tooltip',
56            'title': _(u"Seleccione el año de consulta")
57        })
58    )
59
60
61@python_2_unicode_compatible
62class EstadoForm(forms.Form):
63    ## Estado en el que se encuentra ubicada la Unidad Economica
64    estado = ChoiceField(
65        label=_(u"Estado"), choices=estados(),
66        widget=Select(attrs={
67            'class': 'select2 select2-offscreen form-control', 'data-toggle': 'tooltip',
68            'title': _(u"Seleccione el Estado a consultar")
69        }), required=False
70    )
71
72@python_2_unicode_compatible
73class UnidadEconomicaForm(AnhoForm, EstadoForm):
74    """!
75    Clase que contiene los campos de consulta del sector productivo para unidades económicas
76
77    @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
78    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
79    @date 08-05-2017
80    @version 1.0.0
81    """
82
83    ## Nombre de la Unidad Economica
84    nombre = CharField(label=_(u"Nombre de U.E."), widget=TextInput(attrs={
85        'class': 'form-control', 'data-toggle': 'tooltip', 'title': _(u"Indique el nombre de la Unidad Económica")
86    }), required=False)
87
88    ## R.I.F. de la Unidad Economica
89    rif = CharField(label=_(u"R.I.F. de U.E."), widget=TextInput(attrs={
90        'class': 'form-control', 'data-toggle': 'tooltip', 'title': _(u"Indique el R.I.F. de la Unidad Económica")
91    }), required=False)
92
93
94@python_2_unicode_compatible
95class ActividadEconomicaForm(AnhoForm, EstadoForm):
96
97    ## Determina si la consulta a realizar es mediante todos los codigos CIIU
98    ciiu = forms.BooleanField(label=_("Todos los CIIU"), widget=CheckboxInput(attrs={
99        'class': '', 'data-toggle': 'tooltip',
100        'title': _("Indique si la consulta es de todos los codigo CIIU")
101    }), required=False)
102
103    ## Actividad economica de la Unidad
104    actividad_economica = forms.ChoiceField(label=_("Actividad Economica"), widget=Select(attrs={
105        'class': 'select2 select2-offscreen form-control', 'data-toggle': 'tooltip',
106        'title': _("Seleccione la actividad economica")
107    }), required=False)
108
109    tipo_actividad = forms.ChoiceField(label=_("Tipo de Actividad Economica"), widget=RadioSelect(attrs={
110        'class': '', 'data-toggle': 'tooltip', 'title': _("Seleccione el tipo de actividad economica")
111    }), choices=TIPOS_ACTIVIDAD_ECONOMICA, required=False)
112
113    tipo_unidad = forms.ChoiceField(label=_("Tipo de Unidad"), widget=RadioSelect(attrs={
114        'class': '', 'data-toggle': 'tooltip', 'title': _("Seleccione el tipo de unidad economica")
115    }), choices=TIPOS_UNIDAD, required=False)
Nota: Vea TracBrowser para ayuda de uso del navegador del repositorio.