I changed in gluon/tools.py line 2421:
next = self.settings.logout_next
with:
next = self.get_vars_next()
And now logout redirects users, if there is _next var in the url.
So, now all works fine, but I don't know, what other effects may occur this
replacement.
пятница, 11 октября 2013 г., 23:15:03 UTC+6 пользователь LightOfMooN
написал:
>
> def logout():
> auth_logout = auth.logout(next=URL('default', 'index'))
> return dict(auth_logout = auth_logout)
>
> in template:
> {{=auth_logout}}
>
> And it returns None and no redirects.
>
> Other variation:
> def user():
> return dict(form=auth())
>
> in template:
> {{=form}}
>
> If i go to url /default/user/login?_next=blablabla, I redirected to
> 'blablabla' after login.
> If i go to url /default/user/logout?_next=blablabla, I stay at
> /default/user/logout after logout. Redirect doesn't work there.
>
> пятница, 11 октября 2013 г., 23:04:36 UTC+6 пользователь lesssugar написал:
>>
>> What do you mean it doesn't wok with logout? Linking your logout
>> to /default/user/logout should log user out and simply redirect to
>> default/index. Do you want to redirect user to other URL
>> with /default/user/logout ?
>>
>> On Friday, October 11, 2013 6:58:45 PM UTC+2, LightOfMooN wrote:
>>>
>>> Yes, I tried.
>>> It works with login, but not with logout.
>>>
>>> пятница, 11 октября 2013 г., 22:37:20 UTC+6 пользователь lesssugar
>>> написал:
>>>>
>>>> Did you try using *next* in your login function?
>>>>
>>>> user_auth = auth.login(next=URL('controller_name', 'function_name')
>>>>
>>>>
>>>> On Friday, October 11, 2013 2:34:35 PM UTC+2, LightOfMooN wrote:
>>>>>
>>>>> In v 2.7.2 don't work redirects after login and logout.
>>>>> How to fix it?
>>>>>
>>>>> четверг, 27 июня 2013 г., 19:36:27 UTC+6 пользователь
>>>>> [email protected]написал:
>>>>>>
>>>>>>
>>>>>>
>>>>>> hello together,
>>>>>>
>>>>>> my problem is , i want a simply redirect after a user is logged in.
>>>>>>
>>>>>> i am using the auth setup from web2py:
>>>>>>
>>>>>>
>>>>>>
>>>>>> my db.py:
>>>>>>
>>>>>> auth = Auth(db)
>>>>>> auth.define_tables(username=True)
>>>>>> auth.settings.login_next = URL('welcome') this has no effect,
>>>>>> after a user login the index page is still shown
>>>>>>
>>>>>>
>>>>>> the controller:
>>>>>>
>>>>>> def index():this is my index page, the first page show to the user,
>>>>>> where the user can login or register
>>>>>>
>>>>>> user_auth = auth.login()
>>>>>> user_auth.add_button('register me', URL('register_user'))
>>>>>>
>>>>>>
>>>>>> return dict(user_auth = user_auth)
>>>>>>
>>>>>> def invalid_user():
>>>>>> return dict()
>>>>>>
>>>>>> def welcome():after login was succsesfull the user should be
>>>>>> directed to welcome
>>>>>> search = FORM('Search for:', INPUT(_name='name'),
>>>>>> INPUT(_type='submit', _value = 'go!!!!'))
>>>>>>
>>>>>> return dict(search = search)
>>>>>>
>>>>>>
>>>>>> def register_user():
>>>>>> register = auth.register()
>>>>>>
>>>>>> if register.process().accepted:
>>>>>> redirect(URL('welcome'))
>>>>>>
>>>>>>
>>>>>> return dict(register = register)
>>>>>>
>>>>>>
>>>>>> the view: this is the first site that the user is shown
>>>>>> <h1>Login:</h1>
>>>>>> <br>
>>>>>> {{=user_auth}} it simply show the form from index() its auth.login()
>>>>>>
>>>>>>
>>>>>> the flow is that the user first see the index page with the login,
>>>>>> now user is able to login or create a account,
>>>>>> if the user log in , with an allready created account she schould be
>>>>>> redircted to the welcome page.
>>>>>>
>>>>>>
>>>>>>
>>>>>> kind regards
>>>>>>
>>>>>> Bartek
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
--
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/groups/opt_out.