Hello,

I'm juste trying to use contains with a custom FORM, but it does not
work with FORM(SELECT,_multiple=True....

Here is a piece of my controller:

def rebuts():
    #Formulaire de saisie des rebust
 
ListeArticle=db(db.Article.id>0).select(orderby=db.Article.CodeArticle)
    Selection=FORM(TABLE(TR(
    (TD("De l'article",SELECT(_name='DebArt',
*[OPTION(ListeArticle[i].CodeArticle,
_value=str(ListeArticle[i].CodeArticle)) for i in
range(len(ListeArticle))]))),
     TD("A
l'article",SELECT(_name='FinArt',*[OPTION(ListeArticle[i].CodeArticle,
_value=str(ListeArticle[i].CodeArticle)) for i in
range(len(ListeArticle))])),
 
TD("Test",SELECT(_name='Test',_multiple=True,*[OPTION(ListeArticle[i].CodeArticle,
_value=str(ListeArticle[i].CodeArticle)) for i in
range(len(ListeArticle))])),
     TD("De la date (AAAA-MM-JJ)", INPUT(_name='Debut', requires =
IS_DATE(error_message=T('Doit être de la forme AAAA-MM-JJ !')))),
     TD("A la date (AAAA-MM-JJ)", INPUT(_name='Fin',requires =
IS_DATE(error_message=T('Doit être de la forme AAAA-MM-JJ !')))),
     TD("Sélectionner",
INPUT(_type='submit',_value='Sélectionner')))))

    if Selection.accepts(request.vars,keepvalues=True):
        pass

    DebArt=request.vars.DebArt
    Debut=request.vars.Debut
    Fin=request.vars.Fin
    FinArt=request.vars.FinArt
    Test=request.vars.Test

[...]

   query5=db(db.GPOF.OF_CART.contains(Test)).select()
[...]
   return dict(query5=query5,Test=Test)


If I submit one value to the Test field => query5 act as I want
(=returns db.GPOF whose field OF_CART=Test)
If I submit more than one value to the Test Field => query5 does not
return anything.

I guess this question have already been asked around there but I
cannot find it through the group.
Can somebody help me with this , I'd like to returen all rows db.GP_OF
whose field are selected via the Test multiple select field ....

Thanks a lot

Reply via email to