# -*- coding: utf-8 -*-
"""
Sistema Automatizado de Planificación Integral Comunal SAPIC
Copyleft (@) 2017 CENDITEL nodo Mérida - Copyleft (@) 2017 CENDITEL nodo Mérida - https://planificacion.cenditel.gob.ve/trac/wiki/WikiStart#a5.-SistemaAutomatizadodePlanificaciónIntegralComunalSAPIC
"""
## @package explicacion_situacional.ajax
#
# Ajax correspondientes a la explicacion situacional
# @author Ing. Leonel Paolo Hernandez Macchiarulo (lhernandez at cenditel.gob.ve)
# @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres
# (CENDITEL) nodo Mérida - Venezuela
# @copyright GNU Public License versión 2 (GPLv2)
# @version 1.0
import json
from django.shortcuts import render, redirect
from django.core.urlresolvers import reverse_lazy
from django.http import JsonResponse, HttpResponse
from django.core.serializers import serialize
from explicacion_situacional.modelsEncuestas.modelsParticipacion import (
RespuestaSino, RespuestaOpciones,
RespuestaAbierta, RespuestaUbicacion
)
from explicacion_situacional.modelsExplicacion.modelsExplicacionesSituacional import ExplicacionSituacional
def validar_participacion(request):
"""!
Función que valida si un usuario ya participó en la consulta con un ente en particular
@author Rodrigo Boet (rboet at cenditel.gob.ve)
@copyright GNU/GPLv2
@date 21-04-2017
@param request {object} Objeto que contiene la petición
@return Retorna un json con la respuesta
"""
if not request.is_ajax():
return JsonResponse({'mensaje': False, 'error': str('La solicitud no es ajax')})
user = request.GET.get('user', None)
consulta = request.GET.get('consulta', None)
if(user and consulta):
respuesta_sino = RespuestaSino.objects.filter(pregunta__consulta=consulta,user=user)
respuesta_abierta = RespuestaAbierta.objects.filter(pregunta__consulta=consulta,user=user)
respuesta_opciones = RespuestaOpciones.objects.filter(opcion__pregunta__consulta=consulta,user=user)
if(respuesta_sino or respuesta_abierta or respuesta_opciones):
return JsonResponse({'mensaje': True,'participacion':True})
return JsonResponse({'mensaje': True,'participacion':False})
else:
return JsonResponse({'mensaje': False, 'error': str('No envío el \
usuario y/o el numero de la encuesta')})
def cargar_geometria(request):
try:
comunidad_id = request.GET.get('comunidad_id')
explicacion = ExplicacionSituacional.objects.filter(
fk_organizacion=comunidad_id
)
if (explicacion):
organizacion_social = ExplicacionSituacional.objects.get(
fk_organizacion=comunidad_id
)
## Retorna los datos de la organización social
return HttpResponse(json.dumps({
'result': True,
'coordenadas': str(organizacion_social.coordenadas.geojson),
'comunidad': organizacion_social.fk_organizacion.nombre
}))
## Retorna falso si no encuentra información
return HttpResponse(json.dumps({'resultado': False}))
except Exception as e:
return HttpResponse(json.dumps({'resultado': False, 'error': e}))