# -*- 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")