Did you try by simply specify :

Field('radio_button', ..., readable=True, writable=True)

?

Richard

On Mon, Dec 7, 2015 at 5:19 PM, Jonathan R <[email protected]> wrote:

> I successfully added the radio button i wanted on my login page but
> instead of using a column in the auth_user table I only created a radio
> button that will assign its value in a session variable. To do so I need to
> modify the if form.accepts(): block to gather the value on submission but
> I'm not sure where to find this piece of code (or what should be in a
> custom one to keep the authentication process working).
>
> my default.py :
> user():
>
> if request.args(0)== "login":
>     form=auth()
>     form.elements()[0].insert(0,LABEL('text1',_class='radioButton'))
>
> form.elements()[0].insert(0,INPUT(_type='radio',_class='radioButton',_value='text1'))
>     #same for all values
>
>     #frest of the form (username and password) same as Richard
> implementation
>
>     return dict(form=form)
>
> [...]
>
> then if I want to gather the data in a session variable I'll have to
> change the behavior of the auth() form on accepts:
>
> if form.accepts(request,session):
>     session.radioButtonValue = form.vars.radioButton
>
> but this will stop the auth to process the rest of the form but I don't
> know what are the mandatory steps to add (couldn't locate the original auth
> accepts process)
>
>
>
> On Friday, December 4, 2015 at 4:45:52 PM UTC-5, Jonathan R wrote:
>>
>> Hi everyone,
>> I'm trying to add a radio button on my login form to let the user decide
>> which authentication method he wants to use.
>>
>> I added a field in the auth_user table and i try to display the
>> corresponding radio button in my login page as follow:
>>
>> in bd.py
>>
>> [......]
>>
>> auth.settings.extra_fields['auth_user']=[Field]('choice',
>> requires=IS_IN_SET(['choice 1','choice
>> 2']),widget=SQLFORM.widgets.radio.widget),]
>>
>> auth.define_tables(username=True)
>>
>>
>> [...]
>>
>> in user.html
>>
>> [...]
>>
>> {{form=auth.login()}}
>>
>> [...]
>>
>> {{=form.custom.begin}}
>> Method to Use:
>> {{=form.custom.widget.choice}}
>> </br>
>> Username:
>> {{=form.custom.widget.username}}
>> </br>
>> Password:
>> {{=form.custom.widget.password}}
>> {{=form.custom.submit}}
>> {{=form.custom.end}}
>>
>>
>> [...]
>>
>> This displays correctly the Username and password fields as text and
>> password field but instead of the radio Button the app return None.
>>
>> I checked the db table and the field is created.
>>
>> What am I doing wrong ?
>>
>> Thank you for your help.
>>
>> --
> 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 [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to