Conjunto b2927f0 en consulta_publica


Ignorar:
Fecha y hora:
15/03/2017 16:13:05 (hace 7 años)
Autor:
Antonio Araujo <aaraujo@…>
Branches:
master, base, constituyente, estudiantes, general, plan_patria, sala
Children:
99ac420
Parents:
cdd72e5
Mensaje:

Agregadas funciones para cargar datos de ministerios, vicepresidencias y ámbito en los campos de selección del formulario Buscar.

Ficheros:
2 editados

Leyenda

No modificado
Añadido
Eliminado
  • base/functions.py

    r2d85efb rb2927f0  
    1515from __future__ import unicode_literals
    1616from consulta.models import Consulta,TipoPregunta
     17import requests
     18import copy
    1719
    1820def cargar_tipo_pregunta():
     
    5557
    5658    return lista
     59
     60
     61def cargar_ministerios():
     62    """!
     63    Función que permite cargar los ministerios
     64
     65    @author Antonio Araujo (aaraujo at cenditel.gob.ve)
     66    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     67    @date 15-03-2017
     68    @return Devuelve una tupla con los ministerios
     69    """
     70
     71    # TODO: especificar la URL del servicio a traves de una configuracion y gestion
     72    # de error en solicitud http
     73    url =  'http://192.168.12.152:8080/services_sipes/entes_planificadores/views/servicios_webs?display_id=page_1'
     74    r = requests.get(url)
     75
     76    if not r.status_code == 200:
     77        print "ERROR:"
     78        return ('', 'ocurrio error...'),
     79
     80    data = r.json()
     81    # tupla de entes
     82    tuplaNameEntity = ('', 'Seleccione...'),
     83    uniqueEntities = []
     84    index = 0
     85
     86    for dicc in data:
     87        tmpEntity = dicc['name_ente']
     88        if tmpEntity not in uniqueEntities:
     89            uniqueEntities.append(dicc['name_ente'])
     90        else:
     91            continue
     92    for item in uniqueEntities:
     93        if ( item.startswith('Ministerio') ):
     94            tuplaNameEntity += (index+1, item),
     95
     96    return tuplaNameEntity
     97
     98
     99def cargar_vicepresidencias():
     100    """!
     101    Función que permite cargar las vicepresidencias
     102
     103    @author Antonio Araujo (aaraujo at cenditel.gob.ve)
     104    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     105    @date 15-03-2017
     106    @return Devuelve una tupla con las vicepresidencias
     107    """
     108
     109    # TODO: especificar la URL del servicio a traves de una configuracion y gestion
     110    # de error en solicitud http
     111    url =  'http://192.168.12.152:8080/services_sipes/entes_planificadores/views/servicios_webs?display_id=page_1'
     112    r = requests.get(url)
     113    if not r.status_code == 200:
     114        print "ERROR:"
     115        return ('', 'ocurrio error...'),
     116
     117    data = r.json()
     118
     119    # tupla de sectores
     120    tuplaSector = ('', 'Seleccione...'),
     121    uniqueSectors = []
     122    index = 0
     123
     124    for dicc in data:
     125        tmpSector = dicc['sector']
     126        if tmpSector not in uniqueSectors:
     127            uniqueSectors.append(dicc['sector'])
     128        else:
     129            continue
     130    for item in uniqueSectors:
     131        if ( item.startswith('Vicepresidencia') ):
     132            tuplaSector += (index+1, item),
     133
     134    return tuplaSector
     135
     136
     137def cargar_ambitos():
     138    """!
     139    Función que permite cargar los ambitos
     140
     141    @author Antonio Araujo (aaraujo at cenditel.gob.ve)
     142    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     143    @date 15-03-2017
     144    @return Devuelve una tupla con los ambitos
     145    """
     146
     147    # TODO: especificar la URL del servicio a traves de una configuracion y gestion
     148    # de error en solicitud http
     149    url =  'http://192.168.12.152:8080/services_sipes/entes_planificadores/views/servicios_webs?display_id=page_1'
     150    r = requests.get(url)
     151    if not r.status_code == 200:
     152        print "ERROR:"
     153        return ('', 'ocurrio error...'),
     154
     155    data = r.json()
     156
     157    # tupla de ambitos
     158    tuplaScope = ('', 'Seleccione...'),
     159    uniqueScope = []
     160    index = 0
     161
     162    for dicc in data:
     163        tmpScope = dicc['ambito']
     164        if tmpScope not in uniqueScope:
     165            uniqueScope.append(dicc['ambito'])
     166        else:
     167            continue
     168    for item in uniqueScope:
     169        #if ( item.startswith('') ):
     170        tuplaScope += (index+1, item),
     171
     172    return tuplaScope
  • participacion/forms.py

    rf6ab034 rb2927f0  
    1414# @version 1.0
    1515from django import forms
    16 from base.functions import cargar_consulta
     16from base.functions import cargar_consulta, cargar_ministerios, cargar_vicepresidencias, cargar_ambitos
     17
    1718
    1819class ParticipacionSelectForm(forms.Form):
     
    2526    @version 1.0.0
    2627    """
    27    
     28
    2829    def __init__(self, *args, **kwargs):
    2930        """!
    3031        Metodo que sobreescribe cuando se inicializa el formulario
    31    
     32
    3233        @author Rodrigo Boet (rboet at cenditel.gob.ve)
    3334        @copyright GNU/GPLv2
     
    4142
    4243        self.fields['consultas'].choices = cargar_consulta()
    43    
     44
    4445    ## Consulta
    4546    consultas = forms.ChoiceField(widget=forms.Select(attrs={'class':'form-control'}),
    4647        label="Selecione una consulta")
    47    
    48    
     48
     49
    4950class ParticipacionSearchForm(forms.Form):
    5051    """!
     
    5657    @version 1.0.0
    5758    """
    58    
     59
     60    def __init__(self, *args, **kwargs):
     61        super(ParticipacionSearchForm, self).__init__(*args, **kwargs)
     62        self.fields['ministerios'].choices = cargar_ministerios()
     63        self.fields['vicepresidencias'].choices = cargar_vicepresidencias()
     64        self.fields['ambito'].choices = cargar_ambitos()
     65
    5966    ## Vicepresidencias
    6067    vicepresidencias = forms.ChoiceField(widget=forms.Select(attrs={'class':'form-control'}),
    6168        label="Selecione una vicepresidencia")
    62    
     69
    6370    ## Ministerios
    6471    ministerios = forms.ChoiceField(widget=forms.Select(attrs={'class':'form-control'}),
    6572        label="Selecione un ministerio")
    66    
     73
    6774    ## Estado
    6875    estado = forms.ChoiceField(widget=forms.Select(attrs={'class':'form-control'}),
    6976        label="Selecione un estado")
    70    
     77
    7178    ## Municipio
    7279    municipio = forms.ChoiceField(widget=forms.Select(attrs={'class':'form-control'}),
    7380        label="Selecione un municipio")
    74    
     81
    7582    ## Parroquia
    7683    parroquia = forms.ChoiceField(widget=forms.Select(attrs={'class':'form-control'}),
    7784        label="Selecione una parroaquia")
    78    
     85
    7986    ## Ámbito
    8087    ambito = forms.ChoiceField(widget=forms.Select(attrs={'class':'form-control'}),
Nota: Vea TracChangeset para ayuda en el uso del visor de conjuntos de cambios.