Okay, I will follow that way from now on.

I have one more doubt,
How do I pre-fill values in an autogenerated SQLFORM? I tried looking
for it but couldn't find a way.

So, currently in the poll app I made -
page 1. user adds a new poll
page 2. once validated, it takes user to a page where he can add 1 or
more choices to a poll

I have my tables like these -
db.define_table('poll',
    Field('question', length=200, requires=IS_NOT_EMPTY()),
    Field('pub_date','datetime', default=request.now, writable=False))

db.define_table('choice',
    Field('poll', db.poll),
    Field('choice', length=200),
    Field('votes','integer',default=0))

db.choice.choice.requires = IS_NOT_EMPTY()

So on page 2, where user gets to add choices to poll, I'm again using
SQLFORM, I wish I could prefill the poll number there.

Currently I'm hiding choice.poll from user in SQLFORM generated form,
and once a new row gets added to choice table, I'm updating like this
-

def addchoices():
    ''' adds choices to the poll '''
    form=SQLFORM(db.choice,submit_button='Add it', fields=['choice'],
labels={'choice':'Add this choice'})
    if form.accepts(request.vars,session):
        last_id = form.vars.id
        db(db.choice.id==last_id).update(poll = request.vars.id)
        redirect( URL(r=request, f='addchoices',
vars={'id':request.vars.id}) )

I wonder if I could have a custom SQLFORM, with very little to modify.
SQLFORM makes me kind of lazy :D

I loved the way IS_NOT_EMPTY() actually works in the views too.
Hopefully we might use web2py for PyKata.

Thanks!

On Mar 24, 9:07 pm, mdipierro <[email protected]> wrote:
> My answer was wrong. Your question was correct and I apologize.
>
> I checked the code again.
>
> I tried:
>
> >>> SQLFORM(db.auth_user,fields=['first_name'],labels={'first_name':'Your 
> >>> Name'}).xml()
>
> '<form action="" enctype="multipart/form-data"
> method="post"><table><tr id="auth_user_first_name__row"><td
> class="w2p_fl"><label for="auth_user_first_name"
> id="auth_user_first_name__label">Your Name</label></td><td
> class="w2p_fw"><input class="string" id="auth_user_first_name"
> name="first_name" type="text" value="" /></td><td class="w2p_fc"></
> td></tr><tr id="submit_record__row"><td class="w2p_fl"></td><td
> class="w2p_fw"><input type="submit" value="Submit" /></td><td
> class="w2p_fc"></td></tr></table></form>'
>
> and as you can say it works.
>
> Still fields and lables are only there for backward compatibility and
> I consider them deprecated (so much that I forgot about them). I
> recommend using
>
> db.table.field.label='....'
> db.table.field.readable=True or False
> db.table.field.writable=True or False
>
> form.labels is not defined because according to current design labels
> are a property of the individual fields and not of the form object.
>
> On Mar 24, 10:26 am, mdipierro <[email protected]> wrote:
>
>
>
> > You do not specify the field labels at the level for the form
>
> > form=SQLFORM(...,labels=...) #<<<< WRONG
>
> > You specify them at the level of the fields
>
> > db.table.field.label='...'
> > form=SQLFORM(db.table)
>
> > Massimo
>
> > On Mar 24, 9:28 am, Abhishek Mishra <[email protected]> wrote:
>
> > > Hi guys,
>
> > > I am trying to learn/try out web2py from scratch. I'm making a simple
> > > poll application right now.
>
> > > So, to add a poll, I'm trying to use automatically generated SQLFORMs
> > > as in -
>
> > > pollform=SQLFORM(db.poll, fields=['question'],
> > > labels={'question':'Poll Question'})
>
> > > I was looking for a way to remove submit button from a particular
> > > SQLFORM.
> > > I digged 
> > > throughhttp://www.web2py.com/examples/static/epydoc/gluon.sqlhtml-pysrc.html...
> > > and tried things like -
>
> > > pollform=SQLFORM(db.poll, fields=['question'],
> > > labels={'question':'Poll Question'}, submit_form='')
> > > pollform=SQLFORM(db.poll, fields=['question'],
> > > labels={'question':'Poll Question'}, submit_form=None)
>
> > > ^ None of them actually did the work, is there a way to do this? If
> > > not then would specifying submit_form=None be a nice way to remove the
> > > submit button, or am I missing something?
>
> > > Thanks,
>
> > > Abhishek

-- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en.

Reply via email to