pues creo que son tipo DATE. lo que veo que esta ejecutandose en el servidor es cherrypy y turbogears. aqui dejo todo lo que esta importado y lafuncion con la consulta completa.
la linea 43 de la consulta es una modificacion de la 42, que es la original y donde quiero meter la comparacion entre los años.
perdonad si no nos soy muy claro pero es k no se nada de python y estoy mirandolo ahora. pero creo que este programa es mucho para empezar, al menos para mi...
Código Python:
Ver original# -*- coding: utf-8 -*-
from turbogears import controllers, expose, redirect
from turbogears import validate, validators, flash, error_handler
from festibase.model import Entidad
#from turbogears import identity
from turbogears.widgets import *
from turbogears import widgets
from turbogears import paginate
from festibase.utils import *
from festibase.ordenar import *
import kid
import cherrypy
import turbogears
import time
import os
from cherrypy.lib.cptools import serveFile
Código Python:
Ver originaldef invitadosPorTipoForo(self,edicion_id):
pagina = 'Departamento de invitados: Consultas'
cabecera = 'Invitados al Foro'
contenido = '<p>Elige que tipo deseas consultar</p>'
widget_opciones = RemoteForm(name="consulta",
fields= [SingleSelectField(name = 'tipoforo',
options=listaCombo('TipoForo',valorNulo=False,extra=edicion_id)),
HiddenField('edicion',default=4),
CheckBox('cnf','',u'Sólo confirmados',default=True),
CheckBox('pax','',u'No mostrar PAX = 0',default=True),
CheckBox('pre','',u'Mostrar datos del Dept. de prensa',default=False)],
submit_text='Consultar',
action='doInvitadosPorTipoForo')
return dict(pagina=pagina,contenido=contenido,cabecera=cabecera,
widget_opciones=widget_opciones)
@expose(template="festibase.templates.widget")
@paginate('datos_lista',limit=20,default_order='apellidos')
def doInvitadosPorTipoForo(self,rs=None,**kw):
def borra(item):
texto = '<a href="doInvitadosPorTipoForo?rs=\'s\';q=%d">' % (item.id)
texto += ICONO_SEL + '</a>'
return kid.XML(texto)
# Consulta
if rs == None or cherrypy.session.get('resultado',[]) == []:
if rs != None:
self.redireccionaPorCaducidad()
#edicion_id = int(kw['edicion'])
edicion = Edicion.get(int(kw['edicion']))
tipoforo = TipoForo.get(int(kw['tipoforo']))
#resultado = list(InvitadoEdicion.select(InvitadoEdicion.q.tipoForoID == tipoforo.id))
resultado = list(InvitadoEdicion.select(AND(InvitadoEdicion.q.tipoForoID == tipoforo.id,self.get_fechaLlegada.strftime("%Y") == self.get_anioEd.strftime("%Y"))))
#¿Mostrar prensa?
if 'pre' not in kw.keys():
resultado = [i for i in resultado if i.invitado.esInvitado]
#¿lo confirmados?
if 'cnf' in kw.keys():
resultado = [i for i in resultado if i.confirmado]
#¿No Pax=0?
if 'pax' in kw.keys():
resultado = self.quitaPax0(resultado)
resultado = ordenarResultados(resultado,'apellidos')
else:
resultado = cherrypy.session.get('resultado',[])
tipoforo = cherrypy.session.get('tipoforo')
if 'ordenacion' in kw.keys():
resultado = ordenarResultados(resultado,kw['ordenacion'])
if 'q' in kw.keys():
resultado = [r for r in resultado if r.id != int(kw['q'])]
cherrypy.session['resultado'] = resultado
cherrypy.session['tipoforo'] = tipoforo
# Presentacion
pagina = 'Departamento de invitados: Consultas'
cabecera = u'Listados de invitados %s al Foro' % (tipoforo.nombre)
Col = widgets.datagrid.PaginateDataGrid.Column
fields = [Col('Sel.',borra),Col('apellidos',self.get_apellidosEd),
Col('nombre',self.get_nombreEd),
Col('cargo',self.get_cargoEd),
Col('entidad',self.get_entidadEd),
Col('fecha llegada',self.get_fechaLlegada),
Col('fecha salida',self.get_fechaSalida),
Col('hotel',self.get_hotel),
Col('pax',self.get_pax),
Col(u'Acompañante',self.get_acompanante),
Col('Tipo Inv.',self.get_tipoInvitado)]
consulta_widget = widgets.datagrid.PaginateDataGrid(fields = fields)
contenido = '<table><tr>'
contenido += self.opcionesGeneralesConsultas('doInvitadosPorTipoForo')
columnas = [('apellidos',),
('nombre',),
('cargo',),
('entidad',),
('fechaLlegada','llegada'),
('fechaSalida','salida'),
('hotel',),
('pax',),
('acomp','Acomp.'),
('tipoinvitado','Tipo Inv.')]
for c in columnas:
contenido += '<td><a href="doInvitadosPorTipoForo?rs=%s;ordenacion=%s;%s">%s %s</a></td>' % ('s',c[0],self.extra_kw(kw),ICONO_ORDENAR,self.nombreColumna(c))
contenido += '</tr></table>'