[Kimchi-devel] [PATCH V3 3/5] when login successfully, redirect to the last page.
Aline Manera
alinefm at linux.vnet.ibm.com
Mon Jun 9 18:13:53 UTC 2014
On 06/05/2014 01:10 PM, shaohef at linux.vnet.ibm.com wrote:
> From: ShaoHe Feng <shaohef at linux.vnet.ibm.com>
>
> let cookie remember the last page.
>
> Signed-off-by: ShaoHe Feng <shaohef at linux.vnet.ibm.com>
> Signed-off-by: Yu Xin Huo <huoyuxin at linux.vnet.ibm.com>
> ---
> src/kimchi/root.py | 16 ++++++++++++----
> 1 file changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/src/kimchi/root.py b/src/kimchi/root.py
> index 181ab13..651c847 100644
> --- a/src/kimchi/root.py
> +++ b/src/kimchi/root.py
> @@ -93,7 +93,11 @@ def tabs(self, page, **kwargs):
> data['ui_dir'] = paths.ui_dir
>
> if page.endswith('.html'):
> - return template.render('tabs/' + page, data)
> + context = template.render('tabs/' + page, data)
> + cherrypy.response.cookie[
> + "lastPage"] = "/#tabs/" + page.rstrip(".html")
> + cherrypy.response.cookie['lastPage']['path'] = '/'
Isn't only "lastPage" enough for that?
Why [lastPage][path] is needed?
> + return context
> raise cherrypy.HTTPError(404)
>
>
> @@ -115,9 +119,13 @@ def login(self, *args, **kwargs):
> password = kwargs.get('password')
> # forms base authentication
> if username is not None:
> - # UI can pass the redirect url by "next" query parameter
> - next_url = kwargs.get('next', "/")
> - next_url = type(next_url) is list and next_url[0]
> + next_url = cherrypy.request.cookie.get("lastPage")
> + if next_url is None:
> + # UI can pass the redirect url by "next" query parameter
> + next_url = kwargs.get('next', "/")
> + next_url = type(next_url) is list and next_url[0]
> + else:
> + next_url = next_url.value
> auth.login(username, password)
> raise cherrypy.HTTPRedirect(next_url, 303)
> else:
More information about the Kimchi-devel
mailing list