Changeset ae65f8e in firmaeventos


Ignore:
Timestamp:
Nov 20, 2017, 2:46:47 PM (6 years ago)
Author:
rudmanmrrod <rudman22@…>
Branches:
master
Children:
5dea5ff
Parents:
5db8af8
Message:

Agregadas funciones para consultar participante por ajax, agregadas vars de javascript para usar en ajax, agregada vista ajax para consultar un participante en un evento

Files:
2 added
6 edited

Legend:

Unmodified
Added
Removed
  • FirmaEventos/urls.py

    r66158c7 rae65f8e  
    4040    url(r'^', include('users.urls', namespace="users")),
    4141    url(r'^', include('eventos.urls', namespace="events")),
     42    url(r'^', include('participantes.urls', namespace="participantes")),
    4243]
  • base/templates/base.template.html

    r3996539 rae65f8e  
    3737    </script>
    3838    {% include 'base.alert.messages.html' %}
     39    {% include 'base.vars.javascript.html' %}
    3940</html>
  • eventos/templates/evento.firma.html

    r248b1b4 rae65f8e  
    44{% block content %}
    55    <div class="content center">
     6        <h3>{{nombre_evento}}</h3>
    67        <form id="form" method="post">
    78            {% csrf_token %}
     
    1213            </div>
    1314           
    14             <a type="button" class="btn waves-effect red darken-1">
     15            <a type="button" class="btn waves-effect red darken-1" onclick="get_event_user()">
    1516                <i class="material-icons left">search</i> Buscar
    1617            </a>
     18            <div id="datos_paricipante"></div>
    1719        </form>
    1820    </div>
  • eventos/views.py

    r248b1b4 rae65f8e  
    5151    form_class = FirmaEventoForm
    5252    template_name = "evento.firma.html"
     53   
     54    def get_context_data(self, **kwargs):
     55        """!
     56        Metodo que permite cargar de nuevo valores en los datos de contexto de la vista
     57   
     58        @author Rodrigo Boet (rboet at cenditel.gob.ve)
     59        @copyright GNU/GPLv3
     60        @date 20-11-2017
     61        @param self <b>{object}</b> Objeto que instancia la clase
     62        @param kwargs <b>{object}</b> Objeto que contiene los datos de contexto
     63        @return Retorna los datos de contexto
     64        """
     65        kwargs['nombre_evento'] = Evento.objects.get(pk=int(self.kwargs['pk']))
     66        return super(SignEvent, self).get_context_data(**kwargs)
  • participantes/views.py

    rbf47591 rae65f8e  
    11from django.shortcuts import render
     2from django.http import JsonResponse
     3from django.views.generic import TemplateView
     4from .models import ParticipanteEvento
    25
    3 # Create your views here.
     6class ParticipanteEventoSearch(TemplateView):
     7    """!
     8    Muestra si un participante esta registrado en un evento
     9
     10    @author Rodrigo Boet  (rboet at cenditel.gob.ve)
     11    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     12    @date 20-11-2017
     13    @version 1.0.0
     14    """
     15    template_name = "inicio.html"
     16       
     17    def get(self,request,pk,pasaporte):
     18        """!
     19        Metodo para antender la vista por GET
     20   
     21        @author Rodrigo Boet (rboet at cenditel.gob.ve)
     22        @copyright GNU/GPLv3
     23        @date 20-11-2017
     24        @param self <b>{object}</b> Objeto que instancia la clase
     25        @param request <b>{object}</b> Objeto que contiene la petición
     26        @param pk <b>{int}</b> Recibe el id del evento
     27        @param pasaporte <b>{str}</b> Recibe el número de pasaporte
     28        @return Retorna un Json con la respuesta
     29        """
     30        participante = ParticipanteEvento.objects.filter(fk_evento=pk,fk_participante__pasaporte=pasaporte)
     31        data = {}
     32        if(participante):
     33            p = participante.get()
     34            data = {'firmo':p.firma,'datos':{'nombres':p.fk_participante.nombres,'apellidos':p.fk_participante.apellidos,
     35                        'pasaporte':pasaporte,'correo':p.fk_participante.correo}}
     36        return JsonResponse(data,safe=False)
  • static/js/funciones.js

    r2f56f4e rae65f8e  
     1/**
     2 * Funcion para refrescar el captcha
     3 * @param element Recibe el parametro
     4*/
     5
    16function refresh_captcha(element) {
    27    $form = $(element).parents('form');
     
    914
    1015    return false;
    11 }
     16}
     17
     18/**
     19 * Función para obtener los usuarios de un evento
     20*/
     21function get_event_user() {
     22    var modal = false;
     23    var pasaporte = $('#id_pasaporte').val();
     24    if (pasaporte!='') {
     25        var routes = $(location).attr('pathname').split('/');
     26        var pk = routes[routes.length-1];
     27        var url = URL_USUARIO_EVENTO+pk+"/"+pasaporte;
     28        $.getJSON(url, function(data){
     29            if (Object.keys(data).length > 0) {
     30                construir_datos(data.datos);
     31            }
     32            else{
     33                simple_modal('Lo sentimos, no esta registrado para firmar');
     34            }
     35        }).fail(function(jqxhr, textStatus, error) {
     36            simple_modal('Petición fállida' + textStatus + ", " + error);
     37        })
     38    }
     39    else{
     40        simple_modal('Debe ingresar un pasaporte');
     41    }   
     42}
     43
     44/**
     45 * Función para crear un modal sencillo
     46*/
     47function simple_modal(mensaje) {
     48    MaterialDialog.alert(
     49        mensaje,
     50        {
     51            title:'Alerta',
     52            buttons:{
     53                close:{
     54                    text:'cerrar',
     55                    className:'red',
     56                }
     57            }
     58        }
     59    );
     60}
     61
     62/**
     63 * Función para construir la data del participante
     64 * @param data Recibe los datos para crear la lista
     65*/
     66function construir_datos(data) {
     67    $('#datos_paricipante').html('');
     68    html = '<ul class="collection">'
     69    html += '<li class="collection-item"><b>Nombre: </b>'+data.nombres+'</li>';
     70    html += '<li class="collection-item"><b>Apellido: </b>'+data.apellidos+'</li>';
     71    html += '<li class="collection-item"><b>Pasaporte: </b>'+data.pasaporte+'</li>';
     72    html += '<li class="collection-item"><b>Correo: </b>'+data.correo+'</li>';
     73    html += '</ul>';
     74    $('#datos_paricipante').html(html);
     75}
Note: See TracChangeset for help on using the changeset viewer.