]> git.parisson.com Git - teleforma.git/commitdiff
improve session management
authorGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Tue, 29 Jun 2021 12:16:32 +0000 (14:16 +0200)
committerGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Tue, 29 Jun 2021 12:16:32 +0000 (14:16 +0200)
teleforma/views/core.py

index 37c28d77c6fe8548b922e3248fba72e98dbbf173..ca62fb3ab6579970fd005d72f9c04bc9ab6024d9 100644 (file)
@@ -142,7 +142,14 @@ def get_host(request):
     return host
 
 
-def get_periods(user):
+def get_periods(user, request=None):
+    if request:
+        period_ids = request.session.get('periods')
+            if not periods:
+                periods = get_periods(request.user)
+                request.session['periods'] = [period.id for period in periods]
+            else:
+                periods = [Period.objects.get(id=period_id) for period_id in period_ids]
     periods = []
     student = user.student.all()
     if student: