Updated utilisateurs:details view
This commit is contained in:
@@ -1,8 +1,22 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
{% load bootstrap3 %}
|
||||||
{% block page_content %}
|
{% block page_content %}
|
||||||
<h4 class="page-header">Profil</h4>
|
<div class="col-md-12 col-lg-6">
|
||||||
{{ user.first_name }}, {{ user.last_name }}
|
<h4 class="page-header">Profil de {{ user.first_name }} {{ user.last_name }}</h4>
|
||||||
|
<p>Vous avez participé à {{nbr_maraudes}} maraudes, dont {{nbr_maraudes_annee}} cette année.</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-12 col-lg-6">
|
||||||
|
<div class="panel panel-default">
|
||||||
|
<div class="panel-heading">
|
||||||
|
<h4 class="panel-header"> Modifier le mot de passe </h4>
|
||||||
|
</div>
|
||||||
|
<table class="table">
|
||||||
|
<form method="POST">
|
||||||
|
{% csrf_token %}
|
||||||
|
{{ password_change_form.as_table }}
|
||||||
|
<tr><td colspan="2" class="text-right"><input type="submit" value="Changer le mot de passe" class="btn btn-primary"></input></td></tr>
|
||||||
|
</form>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
from django.views import generic
|
from django.views import generic
|
||||||
|
from django.contrib.auth import update_session_auth_hash
|
||||||
|
from django.contrib.auth.forms import PasswordChangeForm
|
||||||
|
from django.utils import timezone
|
||||||
|
from maraudes.models import Maraude
|
||||||
|
|
||||||
from .models import Professionnel
|
from .models import Professionnel
|
||||||
from .mixins import MaraudeurMixin
|
from .mixins import MaraudeurMixin
|
||||||
@@ -7,7 +11,37 @@ class UtilisateurView(MaraudeurMixin, generic.DetailView):
|
|||||||
|
|
||||||
template_name = "utilisateurs/details.html"
|
template_name = "utilisateurs/details.html"
|
||||||
model = Professionnel
|
model = Professionnel
|
||||||
|
form = None
|
||||||
|
def get(self, request, **kwargs):
|
||||||
|
if not self.form:
|
||||||
|
self.form = PasswordChangeForm(request.user)
|
||||||
|
return super().get(request, **kwargs)
|
||||||
|
|
||||||
|
def post(self, request, **kwargs):
|
||||||
|
form = PasswordChangeForm(request.user, request.POST)
|
||||||
|
if form.is_valid():
|
||||||
|
user = form.save()
|
||||||
|
update_session_auth_hash(request, user) # Important!
|
||||||
|
messages.success(request, 'Your password was successfully updated!')
|
||||||
|
else:
|
||||||
|
self.form = form
|
||||||
|
messages.error(request, 'Please correct the error below.')
|
||||||
|
|
||||||
|
return self.get(request, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
def get_object(self):
|
def get_object(self):
|
||||||
qs = self.get_queryset()
|
qs = self.get_queryset()
|
||||||
return qs.filter(pk=self.request.user.pk)
|
return qs.filter(pk=self.request.user.pk)
|
||||||
|
|
||||||
|
def get_context_data(self, **kwargs):
|
||||||
|
context = super().get_context_data(**kwargs)
|
||||||
|
context['password_change_form'] = self.form
|
||||||
|
|
||||||
|
user_maraudes = Maraude.objects.all_of(self.request.user)
|
||||||
|
context['nbr_maraudes'] = user_maraudes.count()
|
||||||
|
|
||||||
|
current_year = timezone.localtime(timezone.now()).date().year
|
||||||
|
context['nbr_maraudes_annee'] = user_maraudes.filter(date__year=current_year).count()
|
||||||
|
|
||||||
|
return context
|
||||||
|
|||||||
Reference in New Issue
Block a user