diff options
Diffstat (limited to 'ipsilon/util/page.py')
-rw-r--r-- | ipsilon/util/page.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/ipsilon/util/page.py b/ipsilon/util/page.py index f4e53d6..50585ca 100644 --- a/ipsilon/util/page.py +++ b/ipsilon/util/page.py @@ -138,9 +138,15 @@ class Page(Endpoint): # Try with kwargs first tid = t.find_tid(kwargs) if not tid: - # If no TID yet See if we have it in a referer + # If no TID yet See if we have it in a referer or in the + # environment in the REDIRECT_URL + url = None if 'referer' in cherrypy.request.headers: - r = urlparse(unquote(cherrypy.request.headers['referer'])) + url = cherrypy.request.headers['referer'] + elif 'REQUEST_URI' in cherrypy.request.wsgi_environ: + url = cherrypy.request.wsgi_environ['REQUEST_URI'] + if url: + r = urlparse(unquote(url)) if r.query: tid = t.find_tid(parse_qs(r.query)) if not tid: |