Thanks Richard, 
your information sooner or later will be usefull again!

Fabio

Il giorno lunedì 27 novembre 2017 15:45:19 UTC+1, Richard ha scritto:
>
> That can works too, but with more click...
>
> Good luck.
>
> Richard
>
> On Mon, Nov 27, 2017 at 9:35 AM, Fabio Ceccarani <[email protected] 
> <javascript:>> wrote:
>
>> 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 <[email protected]
>>>> > 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 <
>>>>> [email protected]> 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 [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] <javascript:>.
>> 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