aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2022-12-01 01:14:51 +0100
committerHugo Hörnquist <hugo@lysator.liu.se>2022-12-01 01:14:51 +0100
commitebdc591470af5d5b34b8b445b555cd5b73d5e42a (patch)
treef5bc7853ba81bf9a98d50ae98bcd1e76aca7e9f1
parentAdd "remember me". (diff)
downloadmu4web-ebdc591470af5d5b34b8b445b555cd5b73d5e42a.tar.gz
mu4web-ebdc591470af5d5b34b8b445b555cd5b73d5e42a.tar.xz
Handle login prompt for logged in users.
-rw-r--r--mu4web/main.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/mu4web/main.py b/mu4web/main.py
index f822ba8..6e39f12 100644
--- a/mu4web/main.py
+++ b/mu4web/main.py
@@ -464,11 +464,19 @@ def attachement_part_page():
return attachement_response(attachement)
-# TODO this page is really weird if you are already logged in
@app.route('/login', methods=['GET'])
def login_page_():
- body = login_page(request.args.get('returnto'))
- return render_document(page_base(title='Login', body=body))
+ returnto = request.args.get('returnto')
+ if current_user.is_authenticated:
+ # Redirect away already logged in users
+ if returnto:
+ return redirect(returnto)
+ else:
+ return redirect(url_for('index'))
+ else:
+ # Give the login prompt to non-logged in users.
+ body = login_page(returnto)
+ return render_document(page_base(title='Login', body=body))
@app.route('/login', methods=['POST'])