I have chosen to go the custom form way. The only issue I have is that upon hitting submit, the button submits all the forms on the page instead of just the one owning the button. I think this also screws up my validation and it prevents records from being inserted to the db.
controller: def show_form(): users_1 = db(db.people.id.belongs(session.people.keys())).select(db.people.user_id) users_2=[] for user in users_1: if user not in users_2: users_2.append(user) else: pass forms=[] for user in users_2: usr= db(db.auth_user.id==user.user_id).select(db.auth_user.username, db.auth_user.id)[0] usr1=usr.username usr2=usr.id key=str(usr2) fields = [ Field('key',default=key,writable=False), Field('username',default=usr1,writable=False), Field('address',default='Fill in your address',type='text') ] form=SQLFORM.factory(*fields, table_name=key,hidden=dict(ss_id=key), buttons=[ BUTTON("Save Changes", _class="btn btn-primary")]) if form.process(formname=key, hideerror=True).accepted: db.parking.insert(name=usr1, address=form.vars.address) forms.append(form) return dict(forms=forms) view: {{for form in forms:}} {{=form.custom.begin}} User: {{=form.custom.widget.username}} <br> Address: {{=form.custom.widget.address}} <br> {{form.custom.end}}<br><br> {{pass}} On Wednesday, December 18, 2013 9:45:14 PM UTC+1, Niphlod wrote: > > form.process adds little bits to the form to be able to actually process > the posted data. > > in pseudo-code you need to > > list_of_forms = [] > for something in list_of_values: > key = something_unique > form = SQLFORM(....) > if form.process(formname=something_unique).accepted: > .....code dealing with the posted values, such as form.vars, etc > elif form.errors: > .....code dealing with form errors > > list_of_forms.append(form) > ...... > return dict(list_of_forms=list_of_forms, ....) > > In the view, you can then: > > {{for single_form in list_of_forms:}} > <div class="row"> > {{=single_form}} #or {{single_form.custom.etc etc etc}} > </div> > <hr /> > {{pass}} > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.