feat & fix: redirect to dash and show page title for login and register

wip-payments
Aravinth Manivannan 2022-06-17 14:40:42 +05:30
parent bd9155dad1
commit 11b6a25878
Signed by: realaravinth
GPG Key ID: AD9F0F08E855ED88
3 changed files with 36 additions and 31 deletions

View File

@ -1,6 +1,8 @@
{% extends 'accounts/auth/base.html' %}
{% block title_name %} {{ title }} {% endblock %}
{% block login %}
<h2>Login</h2>
<h2>{{ title }}</h2>
<form action="{% url 'accounts.login' %}" method="POST" class="form" accept-charset="utf-8">
{% include "common/components/error.html" %}
{% csrf_token %}

View File

@ -1,6 +1,7 @@
{% extends 'accounts/auth/base.html' %}
{% block title_name %} {{ title }} {% endblock %}
{% block login %}
<h2>Sign Up</h2>
<h2>{{ title }}</h2>
<form action="{% url 'accounts.register' %}" method="POST" class="form" accept-charset="utf-8">
{% include "common/components/error.html" %}
{% csrf_token %}

View File

@ -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)