1 | # -*- coding: utf-8 -*- |
---|
2 | """ |
---|
3 | Sistema Automatizado de Planificación Integral Comunal SAPIC |
---|
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, HttpResponse |
---|
19 | from django.core.serializers import serialize |
---|
20 | from explicacion_situacional.modelsEncuestas.modelsParticipacion import ( |
---|
21 | RespuestaSino, RespuestaOpciones, |
---|
22 | RespuestaAbierta, RespuestaUbicacion |
---|
23 | ) |
---|
24 | from explicacion_situacional.modelsExplicacion.modelsExplicacionesSituacional import ExplicacionSituacional |
---|
25 | |
---|
26 | |
---|
27 | def 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 | |
---|
53 | def 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 | ## Retorna los datos de la organización social |
---|
64 | return HttpResponse(json.dumps({ |
---|
65 | 'result': True, |
---|
66 | 'coordenadas': str(organizacion_social.coordenadas.geojson), |
---|
67 | 'comunidad': organizacion_social.fk_organizacion.nombre |
---|
68 | })) |
---|
69 | |
---|
70 | ## Retorna falso si no encuentra información |
---|
71 | return HttpResponse(json.dumps({'resultado': False})) |
---|
72 | except Exception as e: |
---|
73 | return HttpResponse(json.dumps({'resultado': False, 'error': e})) |
---|
74 | |
---|