blob: e91ec0fd5f024af8bcc8324aa8a3a53ec13e853c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
from django.contrib import messages
from django.contrib.auth import authenticate, login as auth_login, logout as auth_logout
from django.shortcuts import redirect
from authentication.functions import email_verified
def login(request):
next = request.POST.get("next", "core:home").strip()
username = request.POST.get("username")
password = request.POST.get("password")
if username == "" or password == "" or username is None or password is None:
messages.error(request, "ErrorEmptyFields", extra_tags="LoginError")
return redirect(f"{next}?username={username}" if username else next)
else:
user = authenticate(request, username=username, password=password)
if user is not None:
if email_verified(user):
auth_login(request, user)
return redirect(next)
else:
messages.error(
request, "ErrorEmailNotVerified", extra_tags="LoginError"
)
return redirect(f"{next}?username={username}")
else:
messages.error(request, "ErrorInvalidCredentials", extra_tags="LoginError")
return redirect(f"{next}?username={username}")
def logout(request):
auth_logout(request)
referer = request.META.get("HTTP_REFERER", "/")
return redirect(referer)
|