Conjunto de cambios 3625c13 en participacion_consulta para base/views.py
- Fecha y hora:
- 03/10/2017 15:08:34 (hace 7 años)
- Branches:
- master
- Children:
- 14afbd3
- Parents:
- fd72443
- Fichero:
-
- 1 editado
Leyenda
- No modificado
- Añadido
- Eliminado
-
base/views.py
rd923030 r3625c13 14 14 # @version 1.0 15 15 from django.shortcuts import render 16 from django.http import HttpResponse16 from django.http import JsonResponse 17 17 from django.apps import apps 18 18 from django.views.generic import TemplateView 19 19 from django.contrib.auth.mixins import LoginRequiredMixin 20 from base.functions import cargar_municipios, cargar_parroquias 20 21 21 22 import json … … 33 34 34 35 35 def actualizar_combo(request):36 def buscar_municipio(request): 36 37 """! 37 Función que actualiza los datos de un select dependiente de los datos de otro select38 Función buscar municipios (se puede filtrar por la entidad) 38 39 39 @author Ing. Roldan Vargas (rvargasat cenditel.gob.ve)40 @author Rodrigo Boet (robet at cenditel.gob.ve) 40 41 @copyright <a href='https://www.gnu.org/licenses/gpl-3.0.en.html'>GNU Public License versión 3 (GPLv3)</a> 41 @date 28-04-201642 @date 03-10-2017 42 43 @param request <b>{object}</b> Objeto que contiene la petición 43 @return Devuelve un HttpResponse con el JSON correspondiente a los resultados de la consulta y los respectivos 44 elementos a cargar en el select 44 @return Devuelve un JsonResponse con los datos 45 45 """ 46 try: 47 if not request.is_ajax(): 48 return HttpResponse(json.dumps({'resultado': False, 'error': str('La solicitud no es ajax')})) 46 entidad = request.GET.get('entidad',None) 47 if(entidad): 48 data = cargar_municipios(entidad) 49 else: 50 data = cargar_municipios() 51 return JsonResponse(data,safe=False) 49 52 50 ## Valor del campo que ejecuta la acción 51 cod = request.GET.get('opcion', None) 53 def buscar_parroquia(request): 54 """! 55 Función buscar parroquias (se puede filtrar por el municipio) 52 56 53 ## Nombre de la aplicación del modelo en donde buscar los datos 54 app = request.GET.get('app', None) 55 56 ## Nombre del modelo en el cual se va a buscar la información a mostrar 57 mod = request.GET.get('mod', None) 58 59 ## Atributo por el cual se va a filtrar la información 60 campo = request.GET.get('campo', None) 61 62 ## Atributo del cual se va a obtener el valor a registrar en las opciones del combo resultante 63 n_value = request.GET.get('n_value', None) 64 65 ## Atributo del cual se va a obtener el texto a registrar en las opciones del combo resultante 66 n_text = request.GET.get('n_text', None) 67 68 ## Nombre de la base de datos en donde buscar la información, si no se obtiene el valor por defecto es default 69 bd = request.GET.get('bd', 'default') 70 71 filtro = {} 72 73 if app and mod and campo and n_value and n_text and bd: 74 modelo = apps.get_model(app, mod) 75 76 if cod: 77 filtro = {campo: cod} 78 79 out = "<option value=''>%s...</option>" % str("Seleccione") 80 81 combo_disabled = "false" 82 83 if cod != "" and cod != "0": 84 for o in modelo.objects.using(bd).filter(**filtro).order_by(n_text): 85 out = "%s<option value='%s'>%s</option>" \ 86 % (out, str(o.__getattribute__(n_value)), 87 o.__getattribute__(n_text)) 88 else: 89 combo_disabled = "true" 90 91 return HttpResponse(json.dumps({'resultado': True, 'combo_disabled': combo_disabled, 'combo_html': out})) 92 93 else: 94 return HttpResponse(json.dumps({'resultado': False, 95 'error': str('No se ha especificado el registro')})) 96 97 except Exception as e: 98 return HttpResponse(json.dumps({'resultado': False, 'error': e})) 57 @author Rodrigo Boet (robet at cenditel.gob.ve) 58 @copyright <a href='https://www.gnu.org/licenses/gpl-3.0.en.html'>GNU Public License versión 3 (GPLv3)</a> 59 @date 03-10-2017 60 @param request <b>{object}</b> Objeto que contiene la petición 61 @return Devuelve un JsonResponse con los datos 62 """ 63 municipio = request.GET.get('municipio',None) 64 if(municipio): 65 data = cargar_parroquias(municipio) 66 else: 67 data = cargar_parroquias() 68 return JsonResponse(data,safe=False)
Nota: Vea TracChangeset
para ayuda en el uso del visor de conjuntos de cambios.