I have a problem using SQLFORM.grid and a query from a FORM:
Here is my controller
def synthese():
ListeFamille=db(db.ATPOSTE.id>0).select(orderby=db.ATPOSTE.PS_FAMI)
selection=FORM(TABLE(TR(
TD('Début',INPUT(_name='Deb',id="1",_class="date", requires
= IS_DATE(error_message=T('Doit être de la forme AAAA-MM-JJ !')))),
TD('Fin',INPUT(_name='Fin',id="2",_class="date", requires =
IS_DATE(error_message=T('Doit être de la forme AAAA-MM-JJ !')))),
TD('Famille',SELECT('Frappe','Reprise','Tri',_name='Famille')),
TD(INPUT(_type='submit',_value='Sélectionner'))
)))
Deb=request.vars.Deb
Fin=request.vars.Fin
Famille=request.vars.Famille
if Deb:
query1=db.Rebuts.Date>=Deb
else: query1=db.Rebuts.id>0
if Fin:
query2=db.Rebuts.Date<=Fin
else: query2=db.Rebuts.id>0
query3=db.Rebuts.Famille==Famille
if Famille=='Tri' :
query3=(db.Rebuts.Machine=='TRI')&(db.Rebuts.Famille=='NQ')
if Famille=='Reprise' :
query3=(db.Rebuts.Famille!='NQ')&(db.Rebuts.Famille!='Frappe')
query=query1&query2&query3
records=db(query).select()
if selection.accepts(request.vars,keepvalues=True):
pass
form=SQLFORM.grid(query=query,user_signature=False,searchable=True,paginate=True)
And the return dict (form=form)
The query works well and the grid also when I fill Selection and validate.
Yet when I paginate, sort or query inside teh grid I lost every my grid
data (empty grid).
Does somebody knows what's wrong with my controller ?
Thanks a lot to web2py fantastic community
JmiXIII