feat & fix: redirect to dash and show page title for login and register
parent
bd9155dad1
commit
11b6a25878
|
@ -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 %}
|
||||
|
|
|
@ -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 %}
|
||||
|
|
|
@ -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": {
|
||||
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": {
|
||||
ctx = default_register_ctx(username=username, email=email)
|
||||
ctx["error"] = {
|
||||
"title": "Registration Failed",
|
||||
"reason": "Passwords don't match, please verify input",
|
||||
},
|
||||
"usernme": username,
|
||||
"email": email,
|
||||
}
|
||||
return render(request, "accounts/auth/register.html", status=400, context=ctx)
|
||||
|
||||
User = get_user_model()
|
||||
if User.objects.filter(email=email).exists():
|
||||
ctx = {
|
||||
"error": {
|
||||
ctx = default_register_ctx(username=username, email=email)
|
||||
ctx["error"] = {
|
||||
"title": "Registration Failed",
|
||||
"reason": "Email is already registered",
|
||||
},
|
||||
"usernme": username,
|
||||
"email": email,
|
||||
}
|
||||
return render(request, "accounts/auth/register.html", status=400, context=ctx)
|
||||
|
||||
if User.objects.filter(username=username).exists():
|
||||
ctx = {
|
||||
"error": {
|
||||
ctx = default_register_ctx(username=username, email=email)
|
||||
ctx["error"] = {
|
||||
"title": "Registration Failed",
|
||||
"reason": "Username is already registered",
|
||||
},
|
||||
"usernme": username,
|
||||
"email": email,
|
||||
}
|
||||
return render(request, "accounts/auth/register.html", status=400, context=ctx)
|
||||
|
||||
|
|
Loading…
Reference in New Issue