# -*- coding: utf-8 -*-
"""
Sistema de Consulta Pública
Copyleft (@) 2017 CENDITEL nodo Mérida - https://planificacion.cenditel.gob.ve/trac/wiki/ModeladoTopicos_2017
"""
## @package consulta.ajax
#
# Clases basadas en ajax
# @author Rodrigo Boet (rboet 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
from django.http import JsonResponse
from base.functions import createPreprocessingFiles, validate_dir
from .models import Pregunta, Opcion
def pregunta_list(request,pk):
"""!
Función para listar las preguntas relacionadas a una consulta
@author Rodrigo Boet (rboet at cenditel.gob.ve)
@copyright GNU/GPLv2
@date 17-02-2017
@param request {object} Objeto que mantiene la peticion
@param pk {int} Recibe id de la consulta
@return Retorna un Json con los datos
"""
preguntas = Pregunta.objects.filter(consulta_id=pk)
if(preguntas):
datos = []
for item in preguntas.all():
datos.append({"texto_pregunta":item.texto_pregunta,"tipo_pregunta":item.tipo_pregunta_id,
"id":item.id})
return JsonResponse({'success':True,'preguntas':datos})
return JsonResponse({'success':False,'mensaje':'No se encontraron preguntas'})
def opciones_list(request,pk):
"""!
Función para listar las opciones relacionadas a una pregunta
@author Rodrigo Boet (rboet at cenditel.gob.ve)
@copyright GNU/GPLv2
@date 20-02-2017
@param request {object} Objeto que mantiene la peticion
@param pk {int} Recibe id de la pregunta
@return Retorna un Json con los datos
"""
opciones = Opcion.objects.filter(pregunta_id=pk)
if(opciones):
datos = []
for item in opciones.all():
datos.append({"id":item.id, "texto_opcion":item.texto_opcion})
return JsonResponse({'success':True,'opciones':datos})
return JsonResponse({'success':False,'mensaje':'No se encontraron opciones'})
def valid_dir(request,pk):
"""!
Función para verificar que el directorio de la consulta este creado
@author Rodrigo Boet (rboet at cenditel.gob.ve)
@copyright GNU/GPLv2
@date 17-04-2017
@param request {object} Objeto que mantiene la peticion
@param pk {int} Recibe id de la consulta
@return Retorna un Json con la respuesta
"""
value = validate_dir(pk)
return JsonResponse({'success':value})
def generar_texto_respuesta(request,pk):
"""!
Función para generar los textos de la respuesta
@author Rodrigo Boet (rboet at cenditel.gob.ve)
@copyright GNU/GPLv2
@date 17-04-2017
@param request {object} Objeto que mantiene la peticion
@param pk {int} Recibe id de la consulta
@return Retorna un Json con los datos
"""
try:
value = createPreprocessingFiles(pk)
if value:
return JsonResponse({'success':True,'mensaje':'Se generaron con éxito los textos de las respuestas'})
else:
return JsonResponse({'success':False,'mensaje':'No se generaron los textos de las respuestas'})
except:
return JsonResponse({'success':False,'mensaje':'Ocurrió un error inesperado'})