Root url should redirect if user is already logged in
This commit is contained in:
parent
d8d05daf8d
commit
d51d5e2ca9
@ -67,6 +67,7 @@ def make_app(config):
|
|||||||
def make_flask_callbacks(app):
|
def make_flask_callbacks(app):
|
||||||
@app.before_request
|
@app.before_request
|
||||||
def _set_globals():
|
def _set_globals():
|
||||||
|
g.current_user = None
|
||||||
g.dev = os.getenv("FLASK_ENV", "dev") == "dev"
|
g.dev = os.getenv("FLASK_ENV", "dev") == "dev"
|
||||||
g.matchesPath = lambda href: re.match("^" + href, request.path)
|
g.matchesPath = lambda href: re.match("^" + href, request.path)
|
||||||
g.modal = request.args.get("modal", None)
|
g.modal = request.args.get("modal", None)
|
||||||
@ -74,7 +75,7 @@ def make_flask_callbacks(app):
|
|||||||
|
|
||||||
@app.after_request
|
@app.after_request
|
||||||
def _cleanup(response):
|
def _cleanup(response):
|
||||||
g.pop("current_user", None)
|
g.current_user = None
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
|
||||||
|
@ -25,6 +25,9 @@ def root():
|
|||||||
"?{}".format(url.urlencode({"next": request.args.get("next")})),
|
"?{}".format(url.urlencode({"next": request.args.get("next")})),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if g.current_user:
|
||||||
|
return redirect(url_for(".home"))
|
||||||
|
|
||||||
return render_template(
|
return render_template(
|
||||||
"login.html", redirect=bool(request.args.get("next")), redirect_url=redirect_url
|
"login.html", redirect=bool(request.args.get("next")), redirect_url=redirect_url
|
||||||
)
|
)
|
||||||
|
6
tests/routes/test_root.py
Normal file
6
tests/routes/test_root.py
Normal 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
|
@ -4,7 +4,6 @@ import pytest
|
|||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
"path",
|
"path",
|
||||||
(
|
(
|
||||||
"/",
|
|
||||||
"/workspaces",
|
"/workspaces",
|
||||||
"/requests",
|
"/requests",
|
||||||
"/requests/new/1",
|
"/requests/new/1",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user