Richard,

If you have time, what happens if you substitute form[1] for
form.create_form[0] ?

Thanks,
Cliff Kachinske

On Nov 10, 4:10 pm, Anthony <[email protected]> wrote:
> My mistake -- looks like it always has a .create_form, but set to None in
> other cases. But in that case:
>
> if form.create_form:
>
> should work, though I think you said that didn't work -- what happened when
> you tried that?
>
> Anthony
>
>
>
>
>
>
>
> On Thursday, November 10, 2011 4:04:00 PM UTC-5, Richard wrote:
>
> > Ok but it's not seem to work... I get this error trace back :
>
> >  1.
> > 2.
> > 3.
> > 4.
> > 5.
> > 6.
> > 7.
> > 8.
> > 9.
> > 10.
>
> > Traceback (most recent call last):
>
> >   File "/web2py/gluon/restricted.py", line 194, in restricted
>
> >     exec ccode in environment
>
> >   File "/web2py/applications/sgddms/controllers/test.py", line 4437, in 
> > <module>
>
> >   File "/web2py/gluon/globals.py", line 149, in <lambda>
>
> >     self._caller = lambda f: f()
>
> >   File "/web2py/applications/sgddms/controllers/test.py", line 4396, in 
> > test_sqlformgrid
>
> >     for i in range(0,len(form.create_form[0])):
> > TypeError: 'NoneType' object is unsubscriptable
>
> > Any idea?
>
> > It really the first time I play with SQLFORM.grid and it not documented
> > yet so I may ask kind of trivial question... Also I a bit under pressure.
>
> > I really appreciate your help.
>
> > Richard
>
> > On Thu, Nov 10, 2011 at 3:57 PM, Anthony <[email protected]> wrote:
>
> >> I'd go with the second option -- more fool proof.
>
> >> On Thursday, November 10, 2011 3:11:11 PM UTC-5, Richard wrote:
>
> >>> Ok so this :
>
> >>> "if 'new' in request.args and form.create_form:"
>
> >>> or shorter :
>
> >>> "if hasattr(form, 'create_form'):"
>
> >>> ?
>
> >>> Thank you.
>
> >>> Richard
>
> >>> On Thu, Nov 10, 2011 at 2:58 PM, Anthony <[email protected]> wrote:
>
> >>>> If you have "if 'new' in request.args:' you should not also need "if
> >>>> form.create_form" (even if you did, you could simply put them in the same
> >>>> "if" statement with an "and"). Alternatively, use "if hasattr(form,
> >>>> 'create_form'):" -- all by itself.
>
> >>>> Anthony
>
> >>>> On Thursday, November 10, 2011 2:48:49 PM UTC-5, Richard wrote:
>
> >>>>>  Here a working piece of code :
>
> >>>>> def test_sqlformgrid():
> >>>>>     form = SQLFORM.grid(db.TABLE, ui='jquery-ui',
> >>>>> editable=auth.has_membership('****reviewer'),
> >>>>> deletable=auth.has_membership(****'reviewer'), formstyle = 'divs')
> >>>>>     if 'new' in request.args:
> >>>>>         if form.create_form
> >>>>>             for i in range(0,len(form.create_form[**0**])):
> >>>>>                 if len(form.create_form[0][i][2][****0]) > 0:
> >>>>>                     
> >>>>> form.create_form[0][i][0].**appe**nd(SPAN((helpicon(),
> >>>>> SPAN(form.create_form[0][i][2]****[0])),_class='tooltip'))
> >>>>>                 del(form.create_form[0][i][2])
> >>>>>      return dict(form=form)
>
> >>>>> Off course the for i in range... Is specific to my need but it the way
> >>>>> to manipulate the generated html form before it goes in user hand...
>
> >>>>> :)
>
> >>>>> Richard
>
> >>>>> On Thu, Nov 10, 2011 at 2:44 PM, Richard Vézina 
> >>>>> <[email protected]>wrote:
>
> >>>>>>  It was working "if form.create_form:"...
>
> >>>>>> I thought that grid use form variable doesn't matter if the
> >>>>>> SQLFORM.grid wasn't in a form variable at all...
>
> >>>>>> And my bad because I show form = crud... But it was not my
> >>>>>> SQLFORM.grid... Arrg.
>
> >>>>>> Sorry about that...
>
> >>>>>> Richard
>
> >>>>>> On Thu, Nov 10, 2011 at 1:26 PM, Anthony <[email protected]> wrote:
>
> >>>>>>> On Thursday, November 10, 2011 12:42:49 PM UTC-5, Richard wrote:
>
> >>>>>>>> "if 'new' in request.args:" works (allow to load the grid) but the
> >>>>>>>> "if form.create_form:" not work alone or in conjunction with the 
> >>>>>>>> former
>
> >>>>>>> Yeah, looks like it would have to be something like "if
> >>>>>>> hasattr(form, 'create_form'):".

Reply via email to