I understand that I need to use different formnames, I just don't 
understand how I would syntax it do that automatically.
A single form will not suffice; I think is has to be different forms. I 
need a uuid for each user and create/update several records for each user.
Basically I need to use something like:

def show_form():
    for user in users:
        form= SQLFORM.factory()
    return dict(form=form)
But then in a way that works. I tried several ways, but am still 
unsuccessful...
I read (, re-read and re-re-read) the chapter on forms in 'the book' but 
there's no mention on how to achieve something like this, neither in the 
examples.
I tried digging through a lot of the sample apps too but nothing.

I understand this is not the basic way forms are designed to be used but is 
it that uncommon to do this?
I also tried:
for user in users:
    form[user]= SQLFORM.factory()
return dict(form[user]=form[user])
this throws a global name form is not defined.

I also tried:
for user in users:
    form = SQLFORM.factory()
    form[user] = form

any ideas?

On Tuesday, December 17, 2013 9:03:50 PM UTC+1, Massimo Di Pierro wrote:
>
> What does the model look like? You amy want to create a single form with 
> fields for each user.
>
> On Tuesday, 17 December 2013 05:14:25 UTC-6, Ivo wrote:
>>
>> I want to create multiple forms with a 'for' statement and 
>> validate/process them.
>> the amount of forms to generate is dependent on a list containing user 
>> id's.
>> the list is dynamic; so I have a function generating a list, 'users', 
>> which contains: user:1L, user:4L, etc...
>> now I want to create a form for each of them and after 'submit' process 
>> them.
>>
>> Normally I would just create a form in the controller like:
>> def show_form():
>>    form = SQLFORM.x()
>>    return dict(form=form)
>> and process it with:
>>    if form.accepts
>>
>> however this would only generate one form... 
>> using:
>> def sow_form():
>>     for user in users:
>>         form = SQLFORM.x()
>>    return dict(form=form) 
>> and calling it from the view with {{=form}} doesn't work either because 
>> of 'form' being static.
>>
>> Creating the form from the view is a lot easier to do with:
>> {{for user in users:}}
>> (my form)
>> {{pass}}
>>
>> but how do I process it?
>> I can give the form a unique name from the view with name="{{=user}}"
>> but then what?
>>
>> The form is mostly prepopulated with vars created/calculated from the 
>> view but a part of those can be created/calculated from the controller. 
>> the form requires a uuid which needed in the processing of the form.
>>
>> What is the best way to achieve this?
>> would:
>> def show_form():
>>     for user in users:
>>         form[user] = SQLFORM.x()
>> work? and how can I populate that form?
>>
>> Please point me in the right direction.
>>
>>
>>

-- 
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.

Reply via email to