Conjunto fd72443 en participacion_consulta


Ignorar:
Fecha y hora:
03/10/2017 13:52:21 (hace 7 años)
Autor:
rudmanmrrod <rudman22@…>
Branches:
master
Children:
3625c13
Parents:
810b149
Mensaje:

Modificado el widget de la cédula, añadida vista para mostrar las participaciones del usuario

Ficheros:
3 editados

Leyenda

No modificado
Añadido
Eliminado
  • base/widgets.py

    rd923030 rfd72443  
    3333            Select(
    3434                attrs={
    35                     'class': 'select2 form-control', 'data-toggle': 'tooltip',
     35                    'class': 'col s2', 'data-toggle': 'tooltip',
    3636                    'title': "Seleccione la nacionalidad"
    3737                }, choices=SHORT_NACIONALIDAD
     
    3939            TextInput(
    4040                attrs={
    41                     'class': 'form-control text-center', 'placeholder': '00000000', 'data-mask': '00000000',
     41                    'class': 'col s10', 'placeholder': '00000000', 'data-mask': '00000000',
    4242                    'data-toggle': 'tooltip', 'maxlength': '8', 'size':'7', 'data-rule-required': 'true',
    4343                    'title': "Indique el número de Cédula de Identidad"
  • participacion/templates/mi_participacion.html

    r810b149 rfd72443  
    33{% block title %}Mi participación{% endblock %}
    44{% block content %}
    5     <h4 class="center">Mis Participación</h4><hr>
     5    <h4 class="center">Mis Participaciones</h4><hr>
    66    {% for item in object_list %}
    77        <div class="card">
     
    1111            <ol>
    1212                {% for preguntas in item.preguntas %}
    13                     <li>{{preguntas.texto_pregunta}}</li>
     13                    <li><b>{{preguntas.texto_pregunta}}</b></li>
     14                    <ul>
     15                    {% for respuestas in preguntas.respuestas %}
     16                        <li>{% if respuestas == True %}Si{% elif respuestas == False %}No{% else %}{{respuestas}}{% endif%}</li>
     17                    {% endfor %}
     18                    </ul>
    1419                {% endfor %}
    1520            </ol>
  • participacion/views.py

    r810b149 rfd72443  
    276276    """
    277277    template_name = "mi_participacion.html"
    278     paginate_by = 1
     278    paginate_by = 5
    279279   
    280280    def get_context_data(self, **kwargs):
     
    284284        @author Rodrigo Boet (rboet at cenditel.gob.ve)
    285285        @copyright GNU/GPLv2
    286         @date 28-03-2017
     286        @date 28-09-2017
    287287        @param self <b>{object}</b> Objeto que instancia la clase
    288288        @param kwargs <b>{object}</b> Objeto que contiene los datos de contexto
     
    290290        """
    291291        context = super(MiParticipacion, self).get_context_data(**kwargs)
    292         context['object_list'] = cargar_consultas()
     292        consultas = cargar_consultas()
     293               
     294        context['object_list'] = self.tomar_participaciones(self.request.user.id,consultas)
    293295       
    294296        ## Implementación del paginador
     
    306308        return context
    307309   
     310    def tomar_participaciones(self,user,consultas):
     311        """!
     312        Metodo para obtener las participaciones del usuario
     313   
     314        @author Rodrigo Boet (rboet at cenditel.gob.ve)
     315        @copyright GNU/GPLv2
     316        @date 03-10-2017
     317        @param self <b>{object}</b> Objeto que instancia la clase
     318        @param user <b>{int}</b> Recibe el id del usuario
     319        @param consultas <b>{dict}</b> Recibe un diccionario con las consultas disponibles
     320        @return Retorna los datos de contexto
     321        """
     322        consulta_user = []
     323        for consulta in consultas:
     324            participo = False
     325            preguntas = []
     326            for pregunta in consulta['preguntas']:
     327                preguntas_data = {}
     328                if(pregunta['tipo_pregunta']['tipo']=="Si/No"):
     329                    respuesta_sino = RespuestaSino.objects.filter(pregunta=int(pregunta['id']),user_id=user).all()
     330                    if respuesta_sino:
     331                        participo = True
     332                        preguntas_data['texto_pregunta'] = pregunta['texto_pregunta']
     333                        preguntas_data['tipo_pregunta'] = pregunta['tipo_pregunta']['tipo']
     334                        preguntas_data['respuestas'] = [resp.respuesta for resp in respuesta_sino]
     335                elif(pregunta['tipo_pregunta']['tipo']=="Selección Simple" or pregunta['tipo_pregunta']['tipo']=="Selección Múltiple"):
     336                    respuesta_opciones = RespuestaOpciones.objects.filter(pregunta=int(pregunta['id']),user_id=user).all()
     337                    if respuesta_opciones:
     338                        participo = True   
     339                        preguntas_data['texto_pregunta'] = pregunta['texto_pregunta']
     340                        preguntas_data['tipo_pregunta'] = pregunta['tipo_pregunta']['tipo']
     341                        respuestas = []
     342                        for resp in respuesta_opciones:
     343                            for opcion in pregunta['opciones']:
     344                                if(int(opcion['id'])==resp.opcion):
     345                                    respuestas.append(opcion['texto_opcion'])
     346                        preguntas_data['respuestas'] = respuestas
     347                elif(pregunta['tipo_pregunta']['tipo']=="Abierta"):
     348                    respuesta_abierta = RespuestaAbierta.objects.filter(pregunta=int(pregunta['id']),user_id=user).all()
     349                    if respuesta_abierta:
     350                        participo = True
     351                        preguntas_data['texto_pregunta'] = pregunta['texto_pregunta']
     352                        preguntas_data['tipo_pregunta'] = pregunta['tipo_pregunta']['tipo']
     353                        preguntas_data['respuestas'] = [resp.texto_respuesta for resp in respuesta_abierta]
     354                if(participo):
     355                    preguntas.append(preguntas_data)       
     356            if(participo):
     357                consulta_obj = {}
     358                consulta_obj['nombre_consulta'] = consulta['nombre_consulta']
     359                consulta_obj['preguntas'] = preguntas
     360                consulta_user.append(consulta_obj)
     361        return consulta_user
Nota: Vea TracChangeset para ayuda en el uso del visor de conjuntos de cambios.