from datetime import datetime, timedelta from django.db.models import Q from django.shortcuts import render from django.utils import timezone from django.contrib.auth import authenticate, login as auth_login, logout as auth_logout from django.http import HttpResponseRedirect from django.contrib.auth.decorators import login_required from django.views.decorators.http import require_http_methods from django.urls import reverse def login(request): """Formulaire d'authentifictation.""" if request.method == "POST": username = request.POST["login"] password = request.POST["password"] user = authenticate(username=username, password=password) if user is not None: if user.is_active: auth_login(request, user) return HttpResponseRedirect(reverse("year_listing")) context = {"message": "Account disabled."} else: context = {"message": "Wrong login/password."} else: context = {} return render(request, "login.html", context) @login_required @require_http_methods(["GET"]) def logout(request): """Fonction de déconnexion.""" auth_logout(request) return HttpResponseRedirect(reverse("login"))