Root url should redirect if user is already logged in

This commit is contained in:
richard-dds 2018-10-08 15:23:13 -04:00
parent d8d05daf8d
commit d51d5e2ca9
4 changed files with 11 additions and 2 deletions

View File

@ -67,6 +67,7 @@ def make_app(config):
def make_flask_callbacks(app):
@app.before_request
def _set_globals():
g.current_user = None
g.dev = os.getenv("FLASK_ENV", "dev") == "dev"
g.matchesPath = lambda href: re.match("^" + href, request.path)
g.modal = request.args.get("modal", None)
@ -74,7 +75,7 @@ def make_flask_callbacks(app):
@app.after_request
def _cleanup(response):
g.pop("current_user", None)
g.current_user = None
return response

View File

@ -25,6 +25,9 @@ def root():
"?{}".format(url.urlencode({"next": request.args.get("next")})),
)
if g.current_user:
return redirect(url_for(".home"))
return render_template(
"login.html", redirect=bool(request.args.get("next")), redirect_url=redirect_url
)

View File

@ -0,0 +1,6 @@
from tests.factories import UserFactory
def test_root_redirects_if_user_is_logged_in(client, user_session):
user_session(UserFactory.create())
response = client.get("/", follow_redirects=False)
assert "home" in response.location

View File

@ -4,7 +4,6 @@ import pytest
@pytest.mark.parametrize(
"path",
(
"/",
"/workspaces",
"/requests",
"/requests/new/1",