2021-02-06 02:15:10 +01:00
|
|
|
from django.shortcuts import render, redirect
|
|
|
|
from django.contrib import messages
|
|
|
|
from django.contrib.auth.models import User, auth
|
|
|
|
# Create your views here.
|
|
|
|
|
|
|
|
def login(request):
|
|
|
|
if request.method== 'POST':
|
|
|
|
username = request.POST['username']
|
|
|
|
password = request.POST['password']
|
|
|
|
|
|
|
|
user = auth.authenticate(username=username, password=password)
|
|
|
|
|
|
|
|
if user is not None:
|
|
|
|
auth.login(request, user)
|
|
|
|
return redirect("/")
|
|
|
|
else:
|
|
|
|
messages.info(request, 'Invalid credentials')
|
|
|
|
return redirect('login')
|
|
|
|
else:
|
|
|
|
return render(request, 'login.html')
|
|
|
|
|
|
|
|
def register(request):
|
|
|
|
|
|
|
|
if request.method == 'POST':
|
|
|
|
first_name = request.POST['first_name']
|
|
|
|
last_name = request.POST['last_name']
|
|
|
|
username = request.POST['username']
|
|
|
|
password1 = request.POST['password1']
|
|
|
|
password2 = request.POST['password2']
|
|
|
|
email = request.POST['email']
|
|
|
|
|
|
|
|
if password1==password2:
|
|
|
|
if User.objects.filter(username=username).exists():
|
|
|
|
messages.info(request,'Username taken')
|
|
|
|
return redirect('register')
|
|
|
|
elif User.objects.filter(email=email).exists():
|
|
|
|
messages.info(request,'Email taken')
|
|
|
|
return redirect('register')
|
|
|
|
else:
|
|
|
|
user = User.objects.create_user(username=username, password=password1, email=email, first_name=first_name,last_name=last_name)
|
|
|
|
user.save();
|
|
|
|
print('User created')
|
2021-03-27 17:05:11 +01:00
|
|
|
messages.info(request, 'Account created successfully, you can login now')
|
2021-02-06 02:15:10 +01:00
|
|
|
return redirect('login')
|
|
|
|
else:
|
|
|
|
messages.info(request, 'Passwords not matching')
|
|
|
|
return redirect('register')
|
|
|
|
return redirect('/')
|
|
|
|
|
|
|
|
else:
|
|
|
|
return render(request, 'register.html')
|
|
|
|
|
|
|
|
|
|
|
|
def logout(request):
|
|
|
|
auth.logout(request)
|
|
|
|
return redirect('/')
|