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