From 11b6a25878242c028b36a44abbdc1a17e3822330 Mon Sep 17 00:00:00 2001 From: realaravinth Date: Fri, 17 Jun 2022 14:40:42 +0530 Subject: [PATCH] feat & fix: redirect to dash and show page title for login and register --- accounts/templates/accounts/auth/login.html | 4 +- .../templates/accounts/auth/register.html | 3 +- accounts/views.py | 60 ++++++++++--------- 3 files changed, 36 insertions(+), 31 deletions(-) diff --git a/accounts/templates/accounts/auth/login.html b/accounts/templates/accounts/auth/login.html index 650efc9..d213d17 100644 --- a/accounts/templates/accounts/auth/login.html +++ b/accounts/templates/accounts/auth/login.html @@ -1,6 +1,8 @@ {% extends 'accounts/auth/base.html' %} + +{% block title_name %} {{ title }} {% endblock %} {% block login %} -

Login

+

{{ title }}

{% include "common/components/error.html" %} {% csrf_token %} diff --git a/accounts/templates/accounts/auth/register.html b/accounts/templates/accounts/auth/register.html index 4183462..7cce39c 100644 --- a/accounts/templates/accounts/auth/register.html +++ b/accounts/templates/accounts/auth/register.html @@ -1,6 +1,7 @@ {% extends 'accounts/auth/base.html' %} +{% block title_name %} {{ title }} {% endblock %} {% block login %} -

Sign Up

+

{{ title }}

{% include "common/components/error.html" %} {% csrf_token %} diff --git a/accounts/views.py b/accounts/views.py index 114d176..03489db 100644 --- a/accounts/views.py +++ b/accounts/views.py @@ -28,8 +28,13 @@ from .utils import send_verification_email @csrf_protect def login_view(request): + def default_login_ctx(): + return { + "title": "Login", + } + if request.method == "GET": - ctx = {} + ctx = default_login_ctx() if "next" in request.GET: ctx["next"] = request.GET["next"] return render(request, "accounts/auth/login.html", ctx) @@ -56,18 +61,17 @@ def login_view(request): return redirect(next_url) return redirect(reverse("accounts.home")) - ctx = { - "error": { - "title": "Login Failed", - "reason": "Username or passwrod is incorrect, please try again.", - } + ctx = default_login_ctx() + ctx["error"] = { + "title": "Login Failed", + "reason": "Username or passwrod is incorrect, please try again.", } return render(request, "accounts/auth/login.html", status=401, context=ctx) @login_required def protected_view(request): - return render(request, "accounts/protected.html") + return redirect(reverse("dash.home")) def default_login_url(request): @@ -82,8 +86,15 @@ def logout_view(request): def register_view(request): + def default_register_ctx(username=None, email=None): + return { + "title": "Register", + "username": username, + "email": username, + } + if request.method == "GET": - ctx = {} + ctx = default_register_ctx() if "next" in request.GET: ctx["next"] = request.GET["next"] return render(request, "accounts/auth/register.html", ctx) @@ -94,36 +105,27 @@ def register_view(request): email = request.POST["email"] if password != confirm_password: - ctx = { - "error": { - "title": "Registration Failed", - "reason": "Passwords don't match, please verify input", - }, - "usernme": username, - "email": email, + ctx = default_register_ctx(username=username, email=email) + ctx["error"] = { + "title": "Registration Failed", + "reason": "Passwords don't match, please verify input", } return render(request, "accounts/auth/register.html", status=400, context=ctx) User = get_user_model() if User.objects.filter(email=email).exists(): - ctx = { - "error": { - "title": "Registration Failed", - "reason": "Email is already registered", - }, - "usernme": username, - "email": email, + ctx = default_register_ctx(username=username, email=email) + ctx["error"] = { + "title": "Registration Failed", + "reason": "Email is already registered", } return render(request, "accounts/auth/register.html", status=400, context=ctx) if User.objects.filter(username=username).exists(): - ctx = { - "error": { - "title": "Registration Failed", - "reason": "Username is already registered", - }, - "usernme": username, - "email": email, + ctx = default_register_ctx(username=username, email=email) + ctx["error"] = { + "title": "Registration Failed", + "reason": "Username is already registered", } return render(request, "accounts/auth/register.html", status=400, context=ctx)