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.

Reply via email to