add change password in profile

This commit is contained in:
FuzzyGrim
2022-12-13 19:15:07 +01:00
parent 56a615b395
commit 2ffdec1334
3 changed files with 14 additions and 6 deletions

View File

@@ -21,7 +21,7 @@
<h2> You have been logged out</h2>
<div class="border-top pt-3">
<small class="text-muted">
<a href="#">Log In Again</a>
<a href="{% url 'login' %}">Log In Again</a>
</small>
</div>

View File

@@ -36,6 +36,7 @@
<fieldset class="form-group">
<legend class="border-bottom mb-4">Profile</legend>
{{ user_form|crispy }}
{{ password_form|crispy }}
</fieldset>
<div class="form-group">
<button class="btn bg-dark text-white" type="submit">Update</button>

View File

@@ -2,7 +2,8 @@ from django.shortcuts import render, redirect
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.decorators import login_required
from django.contrib import messages
from app.utils import api
from django.contrib.auth import update_session_auth_hash
from django.contrib.auth.forms import UserCreationForm, PasswordChangeForm
from app.forms import UserUpdateForm
def home(request):
@@ -46,16 +47,22 @@ def register(request):
def profile(request):
if request.method == 'POST':
user_form = UserUpdateForm(request.POST, instance=request.user)
if user_form.is_valid():
password_form = PasswordChangeForm(request.user, request.POST)
if user_form.is_valid() and password_form.is_valid():
user_form.save()
password = password_form.save()
update_session_auth_hash(request, password)
messages.success(request, f'Your account has been updated!')
return redirect('profile')
else:
messages.info(request, 'Please correct the error below.')
else:
user_form = UserUpdateForm(instance=request.user)
password_form = PasswordChangeForm(request.user)
context = {
'user_form': user_form
'user_form': user_form,
'password_form': password_form
}
return render(request, 'app/profile.html', context)
return render(request, 'app/profile.html', context)