Add warning messages and try to retrieve teacher automatically

This commit is contained in:
Gabriel Augendre 2018-05-21 23:40:56 +02:00
parent 2d14beb303
commit 1e1eefcab0
4 changed files with 28 additions and 4 deletions

View file

@ -16,7 +16,7 @@ class Teacher(models.Model):
def get_absolute_url(self):
from django.urls import reverse
return reverse('add_book', args=[str(self.pk)])
return reverse('list_books', kwargs={'pk': str(self.pk)})
@property
def full_name(self):

View file

@ -14,8 +14,12 @@
<h4 class="alert-heading">Bienvenue</h4>
<p>Si c'est la première fois que vous visitez ce site, remplissez le formulaire suivant
afin de créer votre espace.</p>
<p class="mb-0">Sinon, <strong>utilisez le lien qui vous a été fourni</strong> pour voir votre liste
et y rajouter des livres.</p>
<hr>
<p class="mb-0">
Sinon, <strong>utilisez le lien qui vous a été fourni</strong> pour voir votre liste
et y rajouter des livres.<br>
Si vous n'avez pas pensé à sauvegarder le lien, merci de vous adresser à votre documentaliste.
</p>
</div>
<div class="row">
<div class="col-12">

View file

@ -6,6 +6,18 @@
<div class="row">
<div class="col-12">
<h1>Bienvenue {{ teacher.full_name }}</h1>
</div>
</div>
<div class="alert alert-warning" role="alert">
<h4 class="alert-heading">Attention</h4>
<p>Pensez à <strong>sauvegarder cette page dans vos favoris</strong>.</p>
<p class="mb-0">
Si vous perdez ce lien, vous ne risquez de ne plus être en mesure d'accéder à votre espace personnel
et vous ne pourrez plus ajouter de livre à votre liste.
</p>
</div>
<div class="row">
<div class="col-12">
<h2>{% block title %}Liste des livres demandés{% endblock %}</h2>
<a href="{% url 'add_book' pk=teacher.pk %}" class="btn btn-primary">Ajouter un livre</a>
<table class="table table-hover table-sm">

View file

@ -1,5 +1,5 @@
from django.contrib import messages
from django.shortcuts import get_object_or_404
from django.shortcuts import get_object_or_404, redirect
from django.urls import reverse
from django.views.generic import CreateView, ListView
@ -12,12 +12,20 @@ class HomePageView(CreateView):
fields = ['first_name', 'last_name', 'phone_number']
template_name = 'manuels/home_page.html'
def get(self, request, *args, **kwargs):
teacher_pk = request.session.get('teacher_pk')
if teacher_pk:
return redirect('list_books', pk=teacher_pk)
return super().get(request, *args, **kwargs)
class BaseTeacherView:
teacher = None
def dispatch(self, request, *args, **kwargs):
self.teacher = get_object_or_404(Teacher, pk=self.kwargs['pk'])
request.session['teacher_pk'] = str(self.teacher.pk)
return super().dispatch(request, *args, **kwargs)
def get_context_data(self, **kwargs):