from builtins import str from django.shortcuts import render from django.http import Http404, HttpResponseRedirect from django.contrib.auth import authenticate, login, logout from django.contrib.auth import forms as auth_forms # This is copied from CUYC.cuy.website.view.auth # If we want to do the whole online-email thing, we would also need to copy across the code in these # imported files and delete what is superfluous. # Or we could just load the latest version of django-registration app. #from cuy.club.models import Member, Message #from ..forms import WebsiteLoginForm, WebsiteRegisterForm #from ...common import mail_site_error #from .generic import user_is_active '''The login and logout functions. This is also where we would manage registration: for people wanting to create and validate their individual logon accounts/forgottenpassword''' ############################ # Authentication Functions # ############################ def expologout(request): login_form = auth_forms.AuthenticationForm() logout(request) return render(request, 'login/logout.html', {'form':login_form}) def expologin(request): # GET if not request.method == 'POST': if (not request.user.is_authenticated) or (not request.user.is_active): return render(request, 'login/index.html', {}) else: # going to login page when you are already logged in return render(request, 'tasks.html', {}) # POST username = request.POST['username'] password = request.POST['password'] user = authenticate(username=username, password=password) if user is None: return render(request, 'login/index.html', {'invalid': True, 'username':username}) if not user.is_active: return render(request, 'login/enable.html', {'login_state':'notenabled'}) try: login(request, user) # Should do the ?next= stuff here.. return render(request, 'tasks.html', {}) except: return render(request, 'errors/generic.html', {})