source: sapic/explicacion_situacional/ajax.py @ ce65723

Last change on this file since ce65723 was ce65723, checked in by Ing. Roldan Vargas <roldandvg@…>, 6 años ago

agregado axios e instrucciones para la obtención de geometría para agregar capa de comunidades (aún en pruebas)

  • Propiedad mode establecida a 100644
File size: 3.3 KB
Línea 
1# -*- coding: utf-8 -*-
2"""
3Sistema Automatizado de Planificación Integral Comunal SAPIC
4
5Copyleft (@) 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
15import json
16from django.shortcuts import render, redirect
17from django.core.urlresolvers import reverse_lazy
18from django.http import JsonResponse, HttpResponse
19from django.core.serializers import serialize
20from explicacion_situacional.modelsEncuestas.modelsParticipacion import (
21    RespuestaSino, RespuestaOpciones,
22    RespuestaAbierta, RespuestaUbicacion
23)
24from explicacion_situacional.modelsExplicacion.modelsExplicacionesSituacional import ExplicacionSituacional
25
26
27def validar_participacion(request):
28    """!
29    Función que valida si un usuario ya participó en la consulta con un ente en particular
30
31    @author Rodrigo Boet (rboet at cenditel.gob.ve)
32    @copyright GNU/GPLv2
33    @date 21-04-2017
34    @param request <b>{object}</b> Objeto que contiene la petición
35    @return Retorna un json con la respuesta
36    """
37    if not request.is_ajax():
38        return JsonResponse({'mensaje': False, 'error': str('La solicitud no es ajax')})
39    user = request.GET.get('user', None)
40    consulta = request.GET.get('consulta', None)
41    if(user and consulta):
42        respuesta_sino = RespuestaSino.objects.filter(pregunta__consulta=consulta,user=user)
43        respuesta_abierta = RespuestaAbierta.objects.filter(pregunta__consulta=consulta,user=user)
44        respuesta_opciones = RespuestaOpciones.objects.filter(opcion__pregunta__consulta=consulta,user=user)
45        if(respuesta_sino or respuesta_abierta or respuesta_opciones):
46            return JsonResponse({'mensaje': True,'participacion':True})
47        return JsonResponse({'mensaje': True,'participacion':False})
48    else:
49        return JsonResponse({'mensaje': False, 'error': str('No envío el \
50                              usuario y/o el numero de la encuesta')})
51
52
53def cargar_geometria(request):
54    try:
55        comunidad_id = request.GET.get('comunidad_id')
56        explicacion = ExplicacionSituacional.objects.filter(
57            fk_organizacion=comunidad_id
58        )
59        if (explicacion):
60            organizacion_social = ExplicacionSituacional.objects.get(
61                fk_organizacion=comunidad_id
62            )
63
64            ## Retorna los datos de la organización social
65            return HttpResponse(json.dumps({
66                'result': True,
67                'coordenadas': str(organizacion_social.coordenadas.geojson),
68                'comunidad': organizacion_social.fk_organizacion.nombre
69            }))
70       
71        ## Retorna falso si no encuentra información
72        return HttpResponse(json.dumps({'resultado': False}))
73    except Exception as e:
74        return HttpResponse(json.dumps({'resultado': False, 'error': e}))
75
Nota: Vea TracBrowser para ayuda de uso del navegador del repositorio.