Conjunto 1c21737 en sapic


Ignorar:
Fecha y hora:
13/09/2018 18:15:30 (hace 6 años)
Autor:
Manuel Zambrano <manuelzg@…>
Branches:
master
Children:
96973f4
Parents:
8837872
Mensaje:

correccion en la caracterizacion economica

Se muestra la encuesta realizada mediante un DataTable? sin uso de ajax en el sub-modulo Caracterizacion economica

Ficheros:
4 editados

Leyenda

No modificado
Añadido
Eliminado
  • explicacion_situacional/templates/caracterizacion.economica.html

    r61114b7 r1c21737  
    44{% block extracss %}
    55  {% load staticfiles %}
    6   <link rel="stylesheet" type="text/css" href="{% static "DataTables/media/css/jquery.dataTables.min.css" %}">
     6   <link rel="stylesheet" type="text/css" href="{% static "DataTables/media/css/jquery.dataTables.min.css" %}">
    77  <link rel="stylesheet" type="text/css" href="{% static "DataTables/extensions/Buttons/css/buttons.dataTables.min.css" %}">
    88  <link rel="stylesheet" type="text/css" href="{% static "DataTables/extensions/Select/css/select.dataTables.min.css" %}">
    99  <link rel="stylesheet" type="text/css" href="{% static "DataTables/extensions/Responsive/css/responsive.dataTables.min.css" %}">
    10 <style>
    11 
    12 .container{
    13   display: block;
    14   position: relative;
    15   margin: 40px auto;
    16   height: auto;
    17   width: 500px;
    18   padding: 20px;
    19 }
    20 
    21 .container ul{
    22   list-style: none;
    23   margin: 0;
    24   padding: 0;
    25         overflow: auto;
    26 }
    27 
    28 .siono{
    29   color: #000000;
    30   display: block;
    31   position: relative;
    32   float: left;
    33   width: 100%;
    34   height: 100px;
    35   border-bottom: 1px solid #333;
    36 }
    37 
    38 ul li input[type=radio]{
    39   position: absolute;
    40   visibility: hidden;
    41 }
    42 
    43 ul li label{
    44   display: block;
    45   position: relative;
    46   font-weight: 300;
    47   font-size: 1.45em;
    48   padding: 25px 25px 25px 80px;
    49   margin: 10px auto;
    50   height: 30px;
    51   z-index: 9;
    52   cursor: pointer;
    53   -webkit-transition: all 0.25s linear;
    54 }
    55 
    56 ul li:hover label{
    57         color: red;
    58 }
    59 
    60 ul li .check{
    61   display: block;
    62   position: absolute;
    63   border: 3px solid #AAAAAA;
    64   border-radius: 100%;
    65   height: 25px;
    66   width: 25px;
    67   top: 30px;
    68   left: 20px;
    69         z-index: 5;
    70         transition: border .25s linear;
    71         -webkit-transition: border .25s linear;
    72 }
    73 
    74 ul li:hover .check {
    75   border: 5px solid red;
    76 }
    77 
    78 ul li .check::before {
    79   display: block;
    80   position: absolute;
    81         content: '';
    82   border-radius: 100%;
    83   height: 15px;
    84   width: 15px;
    85   top: 2px;
    86         left: 2px;
    87   margin: auto;
    88         transition: background 0.25s linear;
    89         -webkit-transition: background 0.25s linear;
    90 }
    91 
    92 input[type=radio]:checked ~ .check {
    93   border: 3px solid #0DFF92;
    94 }
    95 
    96 input[type=radio]:checked ~ .check::before{
    97   background: #0DFF92;
    98 }
    99 
    100 input[type=radio]:checked ~ label{
    101   color: #0DFF92;
    102 }
    103 
    104 
    105   </style>
    10610{% endblock extracss %}
    10711
    10812{% block extrajs %}
    109 <script type="text/javascript" language="javascript" src="{% static "DataTables/media/js/jquery.dataTables.min.js" %}">
    110 </script>
    111 <script type="text/javascript" language="javascript" src="{% static "DataTables/extensions/Buttons/js/dataTables.buttons.min.js" %}">
    112 </script>
    113 <script type="text/javascript" language="javascript" src="{% static "DataTables/extensions/Buttons/js/buttons.print.min.js" %}">
    114 </script>
    115 <script type="text/javascript" language="javascript" src="{% static "DataTables/extensions/Buttons/js/buttons.jqueryui.js" %}">
    116 </script>
    117 <script type="text/javascript" language="javascript" src="{% static "DataTables/extensions/Buttons/js/buttons.html5.min.js" %}">
    118 </script>
    119 <script type="text/javascript" language="javascript" src="{% static "DataTables/extensions/Select/js/dataTables.select.min.js" %}">
    120 </script>
    121 <script type="text/javascript" language="javascript" src="{% static "DataTables/extensions/Responsive/js/dataTables.responsive.min.js" %}">
    122 </script>
    123 <script type="text/javascript" language="javascript">
    124 $(document).ready(function(){
    125     var table = $('#TablaEncuesta').DataTable({
    126         "processing": true,
    127         //"serverSide": true,
    128         "ajax": {
    129            "dataSrc": '',
    130            "type": "GET",
    131            "url": "{% url 'serializer:respuestasino-list' %}",
    132            "contentType": "application/json; charset=utf-8",
    133            "dataType": "json",
    134            "processData": true,
    135         },
     13<script type="text/javascript" language="javascript" src="{% static "DataTables/media/js/jquery.dataTables.min.js" %}"></script>
     14<script type="text/javascript" language="javascript" src="{% static "DataTables/extensions/Buttons/js/dataTables.buttons.min.js" %}"></script>
     15<script type="text/javascript" language="javascript" src="{% static "DataTables/extensions/Buttons/js/buttons.print.min.js" %}"></script>
     16<script type="text/javascript" language="javascript" src="{% static "DataTables/extensions/Buttons/js/buttons.jqueryui.js" %}"></script>
     17<script type="text/javascript" language="javascript" src="{% static "DataTables/extensions/Buttons/js/buttons.html5.min.js" %}"></script>
     18<script src="{% static 'js/funciones.js' %}"></script>
     19{% endblock extrajs %}
    13620
    137          responsive: {
    138             details: {
    139                 display: $.fn.dataTable.Responsive.display.modal( {
    140                     header: function ( row ) {
    141                         var data = row.data();
    142                         return 'Pregunta: '+data['pregunta']['texto_pregunta'];
    143                     }
    144                 } ),
    145                 renderer: function ( api, rowIdx ) {
    146                     // Select hidden columns for the given row
    147                     var data = api.cells( rowIdx, '' ).eq(0).map( function ( cell ) {
    148                         var header = $( api.column( cell.column ).header() );
    149                         if (header.text() == 'Respuesta') {
    150                               var str1 = '<div class="form-group">'+
    151     '<h3>Respuesta</h3>'+
    152     '<div class="form-group">'+
    153     '<ul><li class="siono">  '+
    154     '  <input type="radio" value=True name="respuesta" id="Si" '+(api.cell( cell ).data()? "checked":"")+'><label for="Si">Si</label> <div class="check"></div>'+
    155     '</li><li class="siono">  '+
    156     '  <input type="radio" value=False name="respuesta" id="No" '+(api.cell( cell ).data()? "":"checked")+'><label for="No">No</label> <div class="check"><div class="inside"></div></div></li></ul>'+
    157 
    158     '</div>'+
    159   '</div> '
    160                             var str = "{% csrf_token %}";
    161                             var res = str.replace(/'/g, "\"");
    162                             return str1 + res+
    163 
    164                                    '<div class="modal-footer">' +
    165                                    '<button class="btn bg-purple btn-flat margin" type="submit">Guardar</button>' +
    166 
    167                                   '</div>';
    168                     //        return '<tr>'+ '<td>'+ header.text()+':'+ '</td> '+ '<td>'+ api.cell( cell ).data()+ '</td>'+ '</tr>';
    169                         }
    170                         return '<input type="hidden" name="'+header.text()+'" value="'+api.cell( cell ).data()+'">';
    171                         } ).toArray().join('');
    172                 return data ? $('<form action={% url "explicacion:modificar_respuesta" %} method="POST"/>').append( data ) : false;
    173                 }
    174             }
    175         },
    176         "dom": '<lf<t>Bip>',
    177          buttons: [
    178            'csv','print','pdf'
    179         ],
    180         "columns": [
    181             { "data": "id" },
    182             { "data": "pregunta.texto_pregunta" },
    183             { "data": "respuesta",
    184                 "render": function (data, type, row) {
    185                            return (data === true) ? 'Si <span class="glyphicon glyphicon-ok"></span>':'No <span class="glyphicon glyphicon-remove"></span>';
    186                            }
    187             },
    188 
    189             { "data": "user.username" }
    190         ],
    191 
    192         "columnDefs": [
    193             {
    194                 "targets": [0],
    195                 "visible": false,
    196                 "searchable": false
    197             },
    198        ]
    199     });
    200 
    201 
    202     $('#TablaEncuesta tbody').on( 'click', 'tr', function () {
    203         if ( $(this).hasClass('selected') ) {
    204             $(this).removeClass('selected');
    205         }
    206         else {
    207             table.$('tr.selected').removeClass('selected');
    208             $(this).addClass('selected');
    209         }
    210     } );
    211 
    212 
    213    table.buttons().container().appendTo( $('.col-sm-6:eq(0)', table.table().container() ) );
    214 
    215 });
    216 </script>
    217 {% endblock extrajs %}
    21821{% block contenido_principal %}
    21922    <div class="col-xs-12">
     
    22629            </section>
    22730            <section class="content">
    228                 <div class="col-lg-12 col-xs-12">
    229                 <table id="TablaEncuesta" class="display">
    230                   <thead>
    231                     <tr>
    232                         <th>ID</th>
    233                         <th>Pregunta</th>
    234                         <th>Respuesta</th>
    235                         <th>User</th>
    236                     </tr>
    237                   </thead>
    238                   <!--<tbody>
    239                     <tr>
    240                         <td></td>
    241                         <td></td>
    242                         <td></td>
    243                         <td></td>
    244                     </tr>
    245                   </tbody>-->
     31            {% if consultas %}
     32              <select id="select_filter" style="color:#000"><option value="">Consulta</option></select>
     33                <table id="tabla-participacion" class="display ">
     34                    <thead>
     35                        <tr>
     36                            <th class="economica0">Pregunta</th>
     37                            <th class="economica1">Respuesta</th>
     38                            <th class="econimica2">Consulta</th>
     39                        </tr>
     40                    </thead>
     41                    <tbody>
     42                        {% for respuesta in si_no %}
     43                          {% if respuesta.respuesta %}
     44                            <tr>
     45                                <td>{{ respuesta.pregunta }}</td>
     46                                <td onclick="return abrir_modal('{% url 'explicacion:modificar_respuesta_' respuesta.pregunta.tipo_pregunta.pk respuesta.pk %}')">Si</td> 
     47                                <td>{{ respuesta.pregunta.consulta.nombre_consulta | cut:" de mi comunidad" | title}}</td>                       
     48                            </tr>
     49                          {% else %}
     50                            <tr>
     51                              <td> {{respuesta.pregunta}} </td>
     52                              {% for justificacion in abierta  %}
     53                                {% if justificacion.es_justificacion and justificacion.pregunta.pk == respuesta.pregunta.pk %}
     54                                  <td onclick="return abrir_modal('{% url 'explicacion:modificar_respuesta_' respuesta.pregunta.tipo_pregunta.pk respuesta.pk %}')">No,{{justificacion.texto_respuesta}} </td> 
     55                                {% endif %}
     56                              {% endfor %}
     57                              <td>{{ respuesta.pregunta.consulta.nombre_consulta | cut:" de mi comunidad" | title}}</td>
     58                            </tr>
     59                          {% endif %}
     60                        {% endfor %}
     61                        {% for respuesta in opciones %}
     62                        <tr>
     63                            <td>{{ respuesta.opcion.pregunta }}</td>
     64                            <td onclick="return abrir_modal('{% url 'explicacion:modificar_respuesta_' respuesta.opcion.pregunta.tipo_pregunta.pk respuesta.pk %}')">{{ respuesta.opcion }}</td>
     65                            <td>{{ respuesta.opcion.pregunta.consulta.nombre_consulta | cut:" de mi comunidad" | title}}</td>
     66                        </tr>
     67                        {% endfor %}
     68                        {% for respuesta in abierta %}
     69                            {% if not respuesta.es_justificacion %}
     70                            <tr>
     71                              <td>{{ respuesta.pregunta }}</td>
     72                              <td onclick="return abrir_modal('{% url 'explicacion:modificar_respuesta_' respuesta.pregunta.tipo_pregunta.pk respuesta.pk %}')">{{ respuesta.texto_respuesta }}</td>
     73                              <td>{{ respuesta.pregunta.consulta.nombre_consulta | cut:" de mi comunidad" | title}}</td>
     74                            </tr>     
     75                            {% endif %}
     76                        {% endfor %}
     77                        {% for respuesta in ubicacion %}
     78                        <tr>
     79                            <td>{{ respuesta.pregunta }}</td>
     80                            <td>{{ respuesta.coordenadas }}</td>
     81                            <td>{{ respuesta.pregunta.consulta.nombre_consulta }}</td>
     82                            <td><a class="btn" href="#"><i class="icon"></i></a></td>         
     83                        </tr>
     84                        {% endfor %}
     85                    </tbody>
    24686                </table>
    247                 </div>
    248 
     87            {% endif %}
     88             <div id="popup" class="modal fade" role="dialog"></div>
    24989            </section>
    25090        </div>
  • explicacion_situacional/templates/caracterizacion.social.html

    r8837872 r1c21737  
    33{% block titulo %}_-=SAPIC-Caracterización Social=-_{% endblock titulo %}
    44{% block extracss %}
    5   <link rel="stylesheet" type="text/css" href="{% static "DataTables/media/css/jquery.dataTables.min.css" %}">
    65  <link rel="stylesheet" type="text/css" href="{% static "DataTables/media/css/jquery.dataTables.min.css" %}">
    76  <link rel="stylesheet" type="text/css" href="{% static "DataTables/extensions/Buttons/css/buttons.dataTables.min.css" %}">
  • explicacion_situacional/views/caracterizacionEconomicaView.py

    r72e62e0 r1c21737  
    1414# @version 1.0
    1515
    16 import time
    17 import datetime
    18 from django.contrib import messages
    19 from django.shortcuts import render, redirect
    20 from django.views.generic.edit import (
    21     FormView, UpdateView
    22 )
    2316from django.views.generic import (
    24     TemplateView, ListView
     17    TemplateView,
    2518)
    2619
    27 from explicacion_situacional.modelsEncuestas.modelsConsultas import (
    28     Consulta
    29     )
    30 from explicacion_situacional.modelsExplicacion.modelsExplicacionesSituacional import (
    31     ExplicSitConsulta
    32     )
    33 from explicacion_situacional.forms import ExplicacionForms
    34 
     20from django.contrib import messages
    3521from utils.views import LoginRequeridoPerAuth
    3622
    37 from explicacion_situacional.urls import *
     23from explicacion_situacional.modelsEncuestas.modelsConsultas import (
     24    Consulta,
     25)
    3826
    3927from explicacion_situacional.modelsEncuestas.modelsParticipacion import (
    4028    RespuestaSino, RespuestaOpciones,
    4129    RespuestaAbierta, RespuestaUbicacion
    42     )
     30)
    4331
    4432
     
    5543    template_name = "caracterizacion.economica.html"
    5644    group_required = [u"Administradores", u"Voceros", u"Integrantes"]
     45
     46    def get_context_data(self, **kwargs):
     47        """!
     48        Metodo que permite cargar de nuevo valores en los datos de contexto de la vista
     49
     50        @author Lully Troconis (ltroconis at cenditel.gob.ve)
     51        @author Manuel Zambrano
     52        @copyright <a href='​http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     53        @date 03-07-2018
     54        @date 10-09-2018
     55        @param self <b>{object}</b> Objeto que instancia la clase
     56        @param kwargs <b>{object}</b> Objeto que contiene los datos de contexto
     57        @return Retorna los datos de contexto
     58        """
     59        consulta = None
     60        si_no, opciones, abierta, ubicacion, consultas = [], [], [], [], []
     61        try:
     62            servicios_pks = [pk_val for pk_val in range(2,3)]
     63            for pk in servicios_pks:
     64                consulta = Consulta.objects.select_related().get(pk=pk)
     65                respuesta_si_no = list(RespuestaSino.objects.filter(user=self.request.user, pregunta__consulta=consulta))
     66                si_no = si_no + respuesta_si_no
     67                respuesta_opciones = list(RespuestaOpciones.objects.filter(user = self.request.user,opcion__pregunta__consulta = consulta))
     68                opciones = opciones + respuesta_opciones
     69                respuesta_abierta = list(RespuestaAbierta.objects.filter(user = self.request.user, pregunta__consulta = consulta))
     70                abierta = abierta + respuesta_abierta
     71                respuesta_ubicacion = list(RespuestaUbicacion.objects.filter(user = self.request.user, pregunta__consulta = consulta))
     72                ubicacion = ubicacion + respuesta_ubicacion
     73                if respuesta_si_no or respuesta_abierta or respuesta_ubicacion or respuesta_opciones:
     74                    consultas.append(pk)
     75            kwargs['si_no'] = si_no
     76            kwargs['opciones'] = opciones
     77            kwargs['abierta'] = abierta
     78            kwargs['ubicacion'] = ubicacion
     79            kwargs['consultas'] = consultas
     80        except Exception as e:
     81            print("Ocurrió un error durante la consulta" + str(e))
     82
     83        return super(CaracterizacionEconomicaView, self).get_context_data(**kwargs)
  • static/js/funciones.js

    r8837872 r1c21737  
    190190      "fixedColumns": true ,
    191191      "dom": 'lfrtBSip',
    192       "buttons": ['copy', 'csv', 'print']
     192      "buttons": ['copy', 'csv', 'excel', 'pdf', 'print']
    193193    });
    194194  });
Nota: Vea TracChangeset para ayuda en el uso del visor de conjuntos de cambios.