Fix: changement du mot de passe
This commit is contained in:
@@ -1,7 +1,12 @@
|
||||
import json
|
||||
|
||||
from decouple import config
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth import authenticate, login, logout
|
||||
from django.contrib.auth.models import User
|
||||
from django.http import JsonResponse
|
||||
from django.shortcuts import redirect, render
|
||||
from django.views.decorators.csrf import csrf_exempt
|
||||
|
||||
|
||||
def login_view(request):
|
||||
@@ -18,6 +23,28 @@ def login_view(request):
|
||||
return render(request, 'authentification/login.html', {'error': 'Identifiants invalides'})
|
||||
return render(request, 'authentification/login.html')
|
||||
|
||||
@csrf_exempt
|
||||
def modifier_mot_passe(request):
|
||||
"""Vue pour permettre à un utilisateur de modifier son mot de passe et ses informations de profil"""
|
||||
|
||||
data = json.loads(request.body)
|
||||
ancien_mdp = data.get('ancien_mdp')
|
||||
nouveau_mdp = data.get('nouveau_mdp')
|
||||
confirmation_mdp = data.get('confirmation_mdp')
|
||||
username = data.get("username")
|
||||
|
||||
user = User.objects.get(username=username)
|
||||
|
||||
if not user.check_password(ancien_mdp):
|
||||
return JsonResponse({"error": "Le mot de passe actuel est incorrect."}, status=400)
|
||||
|
||||
if nouveau_mdp != confirmation_mdp:
|
||||
return JsonResponse({"error": "Le nouveau mot de passe et sa confirmation ne correspondent pas."}, status=400)
|
||||
|
||||
user.set_password(nouveau_mdp)
|
||||
user.save()
|
||||
return JsonResponse({"success": "Mot de passe modifié avec succès."})
|
||||
|
||||
def deconnexion_view(request):
|
||||
"""Gère la déconnexion de l'utilisateur."""
|
||||
logout(request)
|
||||
|
||||
Reference in New Issue
Block a user