diff --git a/files/routes/login.py b/files/routes/login.py index 4169d122e8..e829f91bd4 100644 --- a/files/routes/login.py +++ b/files/routes/login.py @@ -14,7 +14,7 @@ def login_get(v): redir = request.values.get("redirect", "/") if redir: - redir = redir.replace("/logged_out", "").strip() + redir = redir.replace("/logged_out", "").strip().rstrip('?') if not is_site_url(redir): redir = "/" if v: return redirect(redir) @@ -146,7 +146,7 @@ def login_post(): redir = request.values.get("redirect") if redir: - redir = redir.replace("/logged_out", "").strip() + redir = redir.replace("/logged_out", "").strip().rstrip('?') if is_site_url(redir): return redirect(redir) return redirect('/') @@ -213,12 +213,18 @@ def sign_up_get(v): error = request.values.get("error") + redir = request.values.get("redirect", "/") + if redir: + redir = redir.replace("/logged_out", "").strip().rstrip('?') + if not is_site_url(redir): redir = "/" + return render_template("sign_up.html", formkey=formkey, now=now, ref_user=ref_user, hcaptcha=HCAPTCHA_SITEKEY, - error=error + error=error, + redirect=redir ) @@ -361,14 +367,19 @@ def sign_up_post(v): session["lo_user"] = new_user.id - carp = get_account(CARP_ID) - new_follow = Follow(user_id=new_user.id, target_id=carp.id) - g.db.add(new_follow) - carp.stored_subscriber_count += 1 - g.db.add(carp) - send_notification(carp.id, f"A new user - @{new_user.username} - has followed you automatically!") + if CARP_ID: + carp = get_account(CARP_ID) + new_follow = Follow(user_id=new_user.id, target_id=carp.id) + g.db.add(new_follow) + carp.stored_subscriber_count += 1 + g.db.add(carp) + send_notification(carp.id, f"A new user - @{new_user.username} - has followed you automatically!") - return redirect(SITE_FULL) + redir = request.values.get("redirect") + if redir: + redir = redir.replace("/logged_out", "").strip().rstrip('?') + if is_site_url(redir): return redirect(redir) + return redirect('/') @app.get("/forgot") diff --git a/files/templates/login.html b/files/templates/login.html index 277bfd9932..d8d7f1d702 100644 --- a/files/templates/login.html +++ b/files/templates/login.html @@ -79,9 +79,8 @@
- Don't have an account? Sign up + Don't have an account? Sign up
- diff --git a/files/templates/sign_up.html b/files/templates/sign_up.html index d1feb52586..8515db388c 100644 --- a/files/templates/sign_up.html +++ b/files/templates/sign_up.html @@ -113,10 +113,9 @@ -
- Already have an account? Log in +
+ Already have an account?
-
diff --git a/files/templates/sign_up_failed_ref.html b/files/templates/sign_up_failed_ref.html index 65b3392eee..4e0f6bcff3 100644 --- a/files/templates/sign_up_failed_ref.html +++ b/files/templates/sign_up_failed_ref.html @@ -60,11 +60,9 @@ -
- Already have an account? Log in. -
+
+ Already have an account? Log in
-