# -*- 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'})