source: consulta_publica/consulta/ajax.py @ 7095598

baseconstituyenteestudiantesgeneralplan_patriasala
Last change on this file since 7095598 was 6abfabc, checked in by rudmanmrrod <rudman22@…>, 7 años ago

Implementada la transformacion de respuestas a texto plano por Ajax

  • Propiedad mode establecida a 100644
File size: 3.4 KB
Línea 
1# -*- coding: utf-8 -*-
2"""
3Sistema de Consulta Pública
4
5Copyleft (@) 2017 CENDITEL nodo Mérida - https://planificacion.cenditel.gob.ve/trac/wiki/ModeladoTopicos_2017
6"""
7## @package consulta.ajax
8#
9# Clases basadas en ajax
10# @author Rodrigo Boet (rboet 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
16from django.http import JsonResponse
17from base.functions import createPreprocessingFiles, validate_dir
18from .models import Pregunta, Opcion
19
20def pregunta_list(request,pk):
21    """!
22    Función para listar las preguntas relacionadas a una consulta
23
24    @author Rodrigo Boet (rboet at cenditel.gob.ve)
25    @copyright GNU/GPLv2
26    @date 17-02-2017
27    @param request <b>{object}</b> Objeto que mantiene la peticion
28    @param pk <b>{int}</b> Recibe id de la consulta
29    @return Retorna un Json con los datos
30    """
31    preguntas = Pregunta.objects.filter(consulta_id=pk)
32    if(preguntas):
33        datos = []
34        for item in preguntas.all():
35            datos.append({"texto_pregunta":item.texto_pregunta,"tipo_pregunta":item.tipo_pregunta_id,
36                          "id":item.id})
37        return JsonResponse({'success':True,'preguntas':datos})
38    return JsonResponse({'success':False,'mensaje':'No se encontraron preguntas'})
39
40def opciones_list(request,pk):
41    """!
42    Función para listar las opciones relacionadas a una pregunta
43
44    @author Rodrigo Boet (rboet at cenditel.gob.ve)
45    @copyright GNU/GPLv2
46    @date 20-02-2017
47    @param request <b>{object}</b> Objeto que mantiene la peticion
48    @param pk <b>{int}</b> Recibe id de la pregunta
49    @return Retorna un Json con los datos
50    """
51    opciones = Opcion.objects.filter(pregunta_id=pk)
52    if(opciones):
53        datos = []
54        for item in opciones.all():
55            datos.append({"id":item.id, "texto_opcion":item.texto_opcion})
56        return JsonResponse({'success':True,'opciones':datos})
57    return JsonResponse({'success':False,'mensaje':'No se encontraron opciones'})
58
59def valid_dir(request,pk):
60    """!
61    Función para verificar que el directorio de la consulta este creado
62
63    @author Rodrigo Boet (rboet at cenditel.gob.ve)
64    @copyright GNU/GPLv2
65    @date 17-04-2017
66    @param request <b>{object}</b> Objeto que mantiene la peticion
67    @param pk <b>{int}</b> Recibe id de la consulta
68    @return Retorna un Json con la respuesta
69    """
70    value = validate_dir(pk)
71    return JsonResponse({'success':value})
72
73def generar_texto_respuesta(request,pk):
74    """!
75    Función para generar los textos de la respuesta
76
77    @author Rodrigo Boet (rboet at cenditel.gob.ve)
78    @copyright GNU/GPLv2
79    @date 17-04-2017
80    @param request <b>{object}</b> Objeto que mantiene la peticion
81    @param pk <b>{int}</b> Recibe id de la consulta
82    @return Retorna un Json con los datos
83    """
84    try:
85        value = createPreprocessingFiles(pk)
86        if value:
87            return JsonResponse({'success':True,'mensaje':'Se generaron con éxito los textos de las respuestas'})
88        else:
89            return JsonResponse({'success':False,'mensaje':'No se generaron los textos de las respuestas'})
90    except:
91        return JsonResponse({'success':False,'mensaje':'Ocurrió un error inesperado'})
92
93
Nota: Vea TracBrowser para ayuda de uso del navegador del repositorio.