added password change form
This commit is contained in:
parent
9e524a8f22
commit
1cadb1e85e
@ -19,7 +19,13 @@
|
|||||||
<form action="." method="post">
|
<form action="." method="post">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
{{ user_name_form|crispy }}
|
{{ user_name_form|crispy }}
|
||||||
<button class="btn btn-success" type="submit"><i class="fas fa-save"></i> {% trans 'Save' %}</button>
|
<button class="btn btn-success" type="submit" name="user_name_form"><i class="fas fa-save"></i> {% trans 'Save' %}</button>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<form action="." method="post">
|
||||||
|
{% csrf_token %}
|
||||||
|
{{ password_form|crispy }}
|
||||||
|
<button class="btn btn-success" type="submit" name="password_form"><i class="fas fa-save"></i> {% trans 'Save' %}</button>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<br/>
|
<br/>
|
||||||
@ -41,7 +47,7 @@
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
<br/>
|
<br/>
|
||||||
<button class="btn btn-success" type="submit"><i class="fas fa-save"></i> {% trans 'Save' %}</button>
|
<button class="btn btn-success" type="submit" name="preference_form"><i class="fas fa-save"></i> {% trans 'Save' %}</button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -3,7 +3,9 @@ import re
|
|||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
|
|
||||||
from django.contrib import messages
|
from django.contrib import messages
|
||||||
|
from django.contrib.auth import update_session_auth_hash
|
||||||
from django.contrib.auth.decorators import login_required
|
from django.contrib.auth.decorators import login_required
|
||||||
|
from django.contrib.auth.forms import PasswordChangeForm
|
||||||
from django.shortcuts import render, get_object_or_404
|
from django.shortcuts import render, get_object_or_404
|
||||||
from django_tables2 import RequestConfig
|
from django_tables2 import RequestConfig
|
||||||
from django.utils.translation import gettext as _
|
from django.utils.translation import gettext as _
|
||||||
@ -161,7 +163,11 @@ def settings(request):
|
|||||||
except UserPreference.DoesNotExist:
|
except UserPreference.DoesNotExist:
|
||||||
up = None
|
up = None
|
||||||
|
|
||||||
|
user_name_form = UserNameForm(instance=request.user)
|
||||||
|
password_form = PasswordChangeForm(request.user)
|
||||||
|
|
||||||
if request.method == "POST":
|
if request.method == "POST":
|
||||||
|
if 'preference_form' in request.POST:
|
||||||
form = UserPreferenceForm(request.POST, prefix='preference')
|
form = UserPreferenceForm(request.POST, prefix='preference')
|
||||||
if form.is_valid():
|
if form.is_valid():
|
||||||
if not up:
|
if not up:
|
||||||
@ -170,17 +176,22 @@ def settings(request):
|
|||||||
up.nav_color = form.cleaned_data['nav_color']
|
up.nav_color = form.cleaned_data['nav_color']
|
||||||
up.save()
|
up.save()
|
||||||
|
|
||||||
form = UserNameForm(request.POST, prefix='name')
|
if 'user_name_form' in request.POST:
|
||||||
if form.is_valid():
|
user_name_form = UserNameForm(request.POST, prefix='name')
|
||||||
request.user.first_name = form.cleaned_data['first_name']
|
if user_name_form.is_valid():
|
||||||
request.user.last_name = form.cleaned_data['last_name']
|
request.user.first_name = user_name_form.cleaned_data['first_name']
|
||||||
|
request.user.last_name = user_name_form.cleaned_data['last_name']
|
||||||
request.user.save()
|
request.user.save()
|
||||||
|
|
||||||
|
if 'password_form' in request.POST:
|
||||||
|
password_form = PasswordChangeForm(request.user, request.POST)
|
||||||
|
if password_form.is_valid():
|
||||||
|
user = password_form.save()
|
||||||
|
update_session_auth_hash(request, user)
|
||||||
|
|
||||||
if up:
|
if up:
|
||||||
preference_form = UserPreferenceForm(instance=up)
|
preference_form = UserPreferenceForm(instance=up)
|
||||||
else:
|
else:
|
||||||
preference_form = UserPreferenceForm()
|
preference_form = UserPreferenceForm()
|
||||||
|
|
||||||
user_name_form = UserNameForm(instance=request.user)
|
return render(request, 'settings.html', {'preference_form': preference_form, 'user_name_form': user_name_form, 'password_form': password_form})
|
||||||
|
|
||||||
return render(request, 'settings.html', {'preference_form': preference_form, 'user_name_form': user_name_form})
|
|
||||||
|
Loading…
Reference in New Issue
Block a user