# Create your views here. from django.shortcuts import render, redirect from django.contrib.auth import authenticate, login #from django.contrib.auth.models import User from apps.user.models import UserProfile from .forms import LoginForm, SignUpForm def login_view(request): if request.user.is_authenticated: # User is already logged in, redirect them to the home page next_page = request.GET.get('next', '/') return redirect(next_page) form = LoginForm(request.POST or None) msg = None if request.method == "POST": if form.is_valid(): username = form.cleaned_data.get("username") password = form.cleaned_data.get("password") user = authenticate(username=username, password=password) if user is not None: login(request, user) next_page = request.GET.get('next', '/') return redirect(next_page) 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(): form.save() username = form.cleaned_data.get("username") raw_password = form.cleaned_data.get("password1") user = authenticate(username=username, password=raw_password) #user = User.objects.create_user(username=username, password=raw_password) # Create a UserProfile instance for the user profile = UserProfile(user=user) profile.save() msg = 'User created - please login.' 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})