[c609db6] | 1 | # -*- coding: utf-8 -*- |
---|
| 2 | """ |
---|
[72e62e0] | 3 | Sistema Automatizado de Planificación Integral Comunal SAPIC |
---|
[c609db6] | 4 | |
---|
| 5 | Copyleft (@) 2017 CENDITEL nodo Mérida - Copyleft (@) 2017 CENDITEL nodo Mérida - https://planificacion.cenditel.gob.ve/trac/wiki/WikiStart#a5.-SistemaAutomatizadodePlanificaciónIntegralComunalSAPIC |
---|
| 6 | """ |
---|
| 7 | ## @package explicacion_situacional.ajax |
---|
| 8 | # |
---|
| 9 | # Ajax correspondientes a la explicacion situacional |
---|
| 10 | # @author Ing. Leonel Paolo Hernandez Macchiarulo (lhernandez at cenditel.gob.ve) |
---|
| 11 | # @author <a href='http://www.cenditel.gob.ve'>Centro Nacional de Desarrollo e Investigación en TecnologÃas Libres |
---|
| 12 | # (CENDITEL) nodo Mérida - Venezuela</a> |
---|
| 13 | # @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
| 14 | # @version 1.0 |
---|
| 15 | import json |
---|
| 16 | from django.shortcuts import render, redirect |
---|
| 17 | from django.core.urlresolvers import reverse_lazy |
---|
| 18 | from django.http import JsonResponse |
---|
| 19 | from explicacion_situacional.modelsEncuestas.modelsParticipacion import ( |
---|
| 20 | RespuestaSino, RespuestaOpciones, |
---|
| 21 | RespuestaAbierta, RespuestaUbicacion |
---|
[428e173] | 22 | ) |
---|
| 23 | from explicacion_situacional.modelsExplicacion.modelsExplicacionesSituacional import ExplicacionSituacional |
---|
[c609db6] | 24 | |
---|
| 25 | |
---|
| 26 | def validar_participacion(request): |
---|
| 27 | """! |
---|
| 28 | Función que valida si un usuario ya participó en la consulta con un ente en particular |
---|
| 29 | |
---|
| 30 | @author Rodrigo Boet (rboet at cenditel.gob.ve) |
---|
| 31 | @copyright GNU/GPLv2 |
---|
| 32 | @date 21-04-2017 |
---|
| 33 | @param request <b>{object}</b> Objeto que contiene la petición |
---|
| 34 | @return Retorna un json con la respuesta |
---|
| 35 | """ |
---|
| 36 | if not request.is_ajax(): |
---|
| 37 | return JsonResponse({'mensaje': False, 'error': str('La solicitud no es ajax')}) |
---|
| 38 | user = request.GET.get('user', None) |
---|
| 39 | consulta = request.GET.get('consulta', None) |
---|
| 40 | if(user and consulta): |
---|
| 41 | respuesta_sino = RespuestaSino.objects.filter(pregunta__consulta=consulta,user=user) |
---|
| 42 | respuesta_abierta = RespuestaAbierta.objects.filter(pregunta__consulta=consulta,user=user) |
---|
| 43 | respuesta_opciones = RespuestaOpciones.objects.filter(opcion__pregunta__consulta=consulta,user=user) |
---|
| 44 | if(respuesta_sino or respuesta_abierta or respuesta_opciones): |
---|
| 45 | return JsonResponse({'mensaje': True,'participacion':True}) |
---|
| 46 | return JsonResponse({'mensaje': True,'participacion':False}) |
---|
| 47 | else: |
---|
| 48 | return JsonResponse({'mensaje': False, 'error': str('No envÃo el \ |
---|
| 49 | usuario y/o el numero de la encuesta')}) |
---|
[428e173] | 50 | |
---|
| 51 | def cargar_geometria(request): |
---|
| 52 | if not request.is_ajax(): |
---|
| 53 | return JsonResponse({'result': False, 'error': str('La solicitud no es ajax')}) |
---|
| 54 | |
---|
| 55 | comunidad_id = request.GET.get('comunidad_id') |
---|
| 56 | |
---|
| 57 | if (ExplicacionSituacional.objects.filter(fk_organizacion=comunidad_id)): |
---|
| 58 | organizacion_social = ExplicacionSituacional.objects.get(fk_organizacion=comunidad_id) |
---|
| 59 | |
---|
| 60 | ## Retorna los datos de la organización social |
---|
[7522254] | 61 | return JsonResponse({'result': True, 'coordenadas': str(organizacion_social.coordenadas.geojson)}) |
---|
[428e173] | 62 | |
---|
| 63 | ## Retorna falso si no encuentra información |
---|
| 64 | return JsonResponse({'result': False}) |
---|
| 65 | |
---|