I went around the problem: I created a page with two buttom (one for 
profile) that link two differents pages. Any page has its own form and its 
own controller part that write profile_type field "1" or "2".

Thanks anyway!
Fabio



Il giorno lunedì 27 novembre 2017 12:02:08 UTC+1, Fabio Ceccarani ha 
scritto:
>
> Hi Richard and thanks for answer.
>
> The real problem is how controller can know wich profile I choose in view.
>
> I want to hide profile_type field in form because I have TWO forms in 
> view: one for register as PERSONAL profile, and one for register ad 
> ORGANIZATION profile.
>
> But in view I have {{=form}} in any of two form. 
> Is the same form=auth() but in case PERSONAL it must write "1" in 
> profile_type field, and in case ORGANIZATION it must write "2" in 
> profile_type field.
>
> The problem is how to pass "1" or "2" from view to controller?
> is for this reason I try to store it in session.profile_type...but last 
> session.profile_type assignment ("2") in view subscribe the first ("1") 
> then in controller the variable is always "2".
>
> I can't past args or vars in form submit because it is out of my control 
> since it is created by auth()....or maybe yes but I did not find how to do 
> it...
>
> Obviously the simplest way is show profile_type and use a single form, but 
> it's most nice and easer to understand for users...and I like to complicate 
> my life!!
>
> Thanks
> Fabio
>
>
> Il giorno venerdì 24 novembre 2017 16:50:17 UTC+1, Richard ha scritto:
>>
>> If you reuse the user function you can add an if statement :
>>
>> if request.args(1-2-3) or request.vars.somevarname == something 
>> particular in your url depending of the context of your form:
>>     db.auth_user.profile_type.default = PROFILE_TYPE_YOU_PREFER
>> elif ...
>>
>> Richard
>>
>> On Fri, Nov 24, 2017 at 10:47 AM, Richard Vézina <ml.richa...@gmail.com> 
>> wrote:
>>
>>> Does removing writable=False in your extra_fields help? It you set this 
>>> to false it means the field is neither readable or writable it you want it 
>>> to be include in the form put it to writable=True so form will include the 
>>> field... I am not sure what you try to achieve with session variable, but 
>>> you may consider using the default or update field attributes to set 
>>> "default" profile_type depending of the context of your form...
>>>
>>> You can set this in the controller of you form like so :
>>>
>>> db.auth_user.profile_type.default = PROFILE_TYPE_YOU_PREFER
>>>
>>> default is for create form and update is in context of an record update 
>>> obviously...
>>>
>>> Richard
>>>
>>> On Fri, Nov 24, 2017 at 10:09 AM, Fabio Ceccarani <fabio.c...@gmail.com> 
>>> wrote:
>>>
>>>> Hi all, 
>>>> I have a double registration form (one in controller, two in view):
>>>>
>>>>
>>>> IN DB.PY
>>>> auth.settings.extra_fields['auth_user']= [
>>>>    Field('profile_type', readable=False, writable=False, label='Profile 
>>>> type', requires=IS_IN_SET({1:'Person',2:'Organization'})),
>>>> ...
>>>> ]
>>>>
>>>>
>>>>
>>>> IN USER.HTML
>>>>
>>>> ...
>>>> <div>
>>>> <h1>profile type1</h1>
>>>> ....
>>>> {{session.profile_type = 1}}
>>>> {{=form}}
>>>>
>>>> </div>
>>>> ...
>>>> <div>
>>>> <h1>profile type2</h1>
>>>> {{session.profile_type = 2}}
>>>> {{=form}}
>>>> </div>
>>>> ...
>>>>
>>>>
>>>>
>>>> IN DEFAULT.PY
>>>>
>>>> def user():
>>>> ...
>>>> return dict(form=auth())
>>>>
>>>>
>>>> How can I write the field auth_user.profile_type = session.profile_type 
>>>> from controller?
>>>> I tried in 100 way, but nothing!
>>>>
>>>> Thanks!
>>>> Fabio
>>>>
>>>> -- 
>>>> 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+un...@googlegroups.com.
>>>> 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 web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to