2024-01-28 23:18:51 +00:00

65 lines
1.8 KiB
Python

# -*- encoding: utf-8 -*-
from django.shortcuts import render, redirect
from django.contrib.auth import authenticate, login
from django.contrib.auth.decorators import login_required
from .forms import LoginForm, SignUpForm
def login_view(request):
form = LoginForm(request.POST or None)
msg = None
if request.method == "POST":
if form.is_valid():
email = form.cleaned_data.get("email")
password = form.cleaned_data.get("password")
user = authenticate(username=email, password=password)
if user is not None:
login(request, user)
return redirect("/")
else:
msg = 'Invalid credentials'
else:
msg = 'Error validating the form'
return render(request, "accounts/login.html", {"form": form, "msg": msg})
def register_user(request):
msg = None
success = False
if request.method == "POST":
form = SignUpForm(request.POST)
if form.is_valid():
user = form.save(commit=False)
# Develepment, give all new users admin
user.is_staff = True
user.is_superuser = True
user.save()
email = form.cleaned_data.get("email")
raw_password = form.cleaned_data.get("password1")
user = authenticate(username=email, password=raw_password)
msg = 'User created successfully.'
success = True
# return redirect("/login/")
else:
msg = 'Form is not valid'
else:
form = SignUpForm()
return render(request, "accounts/register.html", {"form": form, "msg": msg, "success": success})
@login_required()
def profile_view(request):
return render(request, "accounts/profile.html")