from django.contrib.auth import authenticate, login, logout from django.shortcuts import render, redirect # from django.contrib import messages # from django.views.decorators.cache import never_cache # from django.views.decorators.http import require_http_methods # from django.contrib.auth import authenticate, login # from django.shortcuts import render, redirect def login_view(request): if request.method == 'POST': username = request.POST.get('mail') password = request.POST.get('mot_de_passe') user = authenticate(request, username=username, password=password) if user is not None: login(request, user) next_url = request.GET.get('next') or request.POST.get('next') or '/' return redirect(next_url) else: return render(request, 'authentification/login.html', {'error': 'Identifiants invalides'}) return render(request, 'authentification/login.html') # @never_cache # # @require_http_methods(["GET", "POST"]) # def login_view(request): # """ # Gère la connexion des utilisateurs avec redirection selon le rôle et # vérification de l'acceptation de la politique d'utilisation. # """ # # if request.user.is_authenticated: # # next_url = request.GET.get('next', '') # # if next_url: # # return redirect(next_url) # # return redirect("gestion_conges:conge") # if request.method == 'POST': # email = request.POST.get('mail') # password = request.POST.get('mot_de_passe') # # next_url = request.POST.get('next', '') # if not (email and password): # messages.error(request, "Veuillez remplir tous les champs.") # return render(request, 'authentification/login.html') # user = authenticate(request, username=email, password=password) # if user is None or not user.is_active: # messages.error(request, "Nom d’utilisateur ou mot de passe incorrect ou le compte est inactif.") # return render(request, 'authentification/login.html') # login(request, user) # # if next_url: # # return redirect(next_url) # # return redirect("gestion_conges:conge") # return render( # request, # 'authentification/login.html', # { # 'next': request.GET.get('next', ''), # } # ) def deconnexion_view(request): """Gère la déconnexion de l'utilisateur.""" logout(request) return redirect('login')