From f4c7e8cb0cd67f501d4fd2f303128b7086e65b84 Mon Sep 17 00:00:00 2001 From: dave Date: Sun, 23 Sep 2018 14:58:42 -0700 Subject: [PATCH] Redirect to same page on login --- photoapp/daemon.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/photoapp/daemon.py b/photoapp/daemon.py index 10ed467..7e4c59e 100644 --- a/photoapp/daemon.py +++ b/photoapp/daemon.py @@ -6,9 +6,9 @@ from photoapp.library import PhotoLibrary from photoapp.types import Photo, PhotoSet, Tag, TagItem, PhotoStatus from jinja2 import Environment, FileSystemLoader, select_autoescape from sqlalchemy import desc -from sqlalchemy.exc import IntegrityError from sqlalchemy import func, and_ import math +from urllib.parse import urlparse APPROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), "../")) @@ -215,15 +215,19 @@ class PhotosWeb(object): /login - enable super features by logging into the app """ cherrypy.session['authed'] = cherrypy.request.login - raise cherrypy.HTTPRedirect('/feed', 302) + dest = "/feed" if "Referer" not in cherrypy.request.headers \ + else urlparse(cherrypy.request.headers["Referer"]).path + raise cherrypy.HTTPRedirect(dest, 302) @cherrypy.expose def logout(self): """ - /login - enable super features by logging into the app + /logout """ cherrypy.session.clear() - raise cherrypy.HTTPRedirect('/feed', 302) + dest = "/feed" if "Referer" not in cherrypy.request.headers \ + else urlparse(cherrypy.request.headers["Referer"]).path + raise cherrypy.HTTPRedirect(dest, 302) @cherrypy.popargs('date')