The mytables variable ony has values in steps 0,1 but you loop over it  for 
insert only in step 2 (when it is not defined). You do not get an error 
probably because it already defined in the outer scope.

On Wednesday, 3 October 2012 06:23:36 UTC-5, Don_X wrote:
>
> Here is another controller I tried, and I still get the same results ( no 
> data is recorder in the tables, no errors or ticket given ) and on the last 
> submit button .. nothing happens :
>
>
> def register():
>>        import os
>>        STEPS = {0: 
>> ('Iagreeto','first_name','last_name','email','email_check','password','sex','birth_date','usertype','user_adress','user_city','user_prov','user_postalcode','Country'),
>>                 1: 
>> ('the_user','user_speaks','more_Lang','user_image','user_picture','user_description','user_soccerstory'),
>>   
>> #  final step
>>                 2: URL('user',args='profile')} 
>>          
>>        step = int(request.args(0) or 0)
>>        if not step in STEPS: redirect(URL(args=0))
>>        fields = STEPS[step]
>>        if step==0:
>>           session.register = {} 
>>        if isinstance(fields,tuple):
>>           mytables = ['auth_user','user_info']
>>           form_fields = []
>>           [form_fields.extend([db[t][f] for f in db[t].fields if f in 
>> fields]) for t in mytables]
>>           form = SQLFORM.factory(*form_fields)         
>>           if form.accepts(request,session):
>>              session.register.update(form.vars)
>>              redirect(URL(args=step+1))
>>        else :
>>           for k in mytables :
>>                 db[k].insert(**session.register)
>>           session.flash = T('Signup completed')
>>           redirect(fields)
>>        return dict(form=form,step=step) 
>>       
>>
>
> Why the data entered by the user are not making it to the tables ??
> why no ticket or errors ? .. why no redirect is taking place ??
>
> thank you
>
> Don
>

-- 



Reply via email to