Oops, I do have form.custom.begin and form.custom.end. I had forgotten to 
type it here.

I also wanted a custom view for the registration, login, and whatever else, 
so my understanding is that I can do this by using form=auth.register() and 
form=auth.login(). Then in their respective views, I can format the html 
whatever way I want with form.custom.begin and form.custom.end.

Is form=auth.register() supposed to handle inserting the new user to the 
database? I've only dealt with handling it in the controller with 'if 
form.process().accepted', so looking at 'return(form=auth.register()) is a 
bit confusing.


On Friday, September 6, 2013 5:38:15 PM UTC-4, Anthony wrote:
>
> Did you also include form.custom.begin and form.custom.end (you need the 
> latter, or the _formkey check will fail silently)? Anyway, if you just want 
> to exclude some fields from the register form, you can set the readable and 
> writable attributes to False within the user function:
>
> def user():
>     if request.args(0) == 'register':
>         for field in [list, of, fields]:
>             db.auth_user[field].readable = db.auth_user[field].writable = 
> False
>     return dict(form=auth())
>
>
> Anthony
>
> On Friday, September 6, 2013 5:17:23 PM UTC-4, Apple Mason wrote:
>>
>> The default register form has too many fields, so I created a 
>> slimmed-down custom one:
>>
>> register.html:
>>
>> <div>
>> Username: {{=form.custom.widget.username}}
>> Email: {{=form.custom.widget.email}}
>> Password: {{=form.custom.widget.password}}
>>
>> {{=form.custom.submit}}
>> </div>
>>
>> default.py:
>>
>> def register():
>>       return dict(form=auth.register())
>>
>> def login():
>>       return dict(form=auth.login())
>>
>> The default validation works if you submit an invalid input (ie, an 
>> invalid email will error on the form). But if the information is correct, 
>> the information doesn't get saved into the database, so the user is never 
>> created.
>>
>> I thought maybe doing something like:
>>
>> form = auth.register()
>> if form.process().accepted:
>>     # Then what??
>>
>> But that seems incorrect because it looks like it'll process the form 
>> twice.
>>
>> What's the proper way of handling user actions on custom forms? ie, 
>> login, registration, request_reset_password...
>>
>

-- 

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