]> git.parisson.com Git - teleforma.git/commitdiff
reduce get_periods surface
authorGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Tue, 1 Feb 2022 13:24:41 +0000 (14:24 +0100)
committerGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Tue, 1 Feb 2022 13:24:41 +0000 (14:24 +0100)
teleforma/views/core.py

index c1c564c31851ed0b1b96593bea73d8ec45b75908..ce845978709e1d0e80c5dbbe4a2e0f275dc6176a 100644 (file)
@@ -145,33 +145,34 @@ def get_host(request):
 def get_periods(request):
     user = request.user
     periods = []
+    professor = user.professor.all()
+    quotas = user.quotas.all()
+    student = user.student.get()
 
-    student = user.student.all()
-    if student:
+    if user.is_superuser or user.is_staff:
+        periods = Period.objects.filter(is_open=True)
+
+    elif professor:
+        periods = Period.objects.filter(is_open=True)
+
+    elif quotas and not (user.is_superuser or user.is_staff) and not professor:
+        periods = []
+        for quota in quotas:
+            if not quota.period in periods:
+                periods.append(quota.period)
+
+    elif student:
         period_ids = request.session.get('period_ids')
         if period_ids:
             periods = [Period.objects.get(id=period_id) for period_id in period_ids]
         else:
-            student = user.student.get()
             periods = [training.period for training in student.trainings.all()]
             for period in periods:
                 for child in period.children.all():
                     periods.append(child)
             request.session['period_ids'] = [period.id for period in periods]
     else:
-        if user.is_superuser or user.is_staff:
-            periods = Period.objects.filter(is_open=True)
-
-        professor = user.professor.all()
-        if professor:
-            periods = Period.objects.filter(is_open=True)
-
-        quotas = user.quotas.all()
-        if quotas and not (user.is_superuser or user.is_staff) and not professor:
-            periods = []
-            for quota in quotas:
-                if not quota.period in periods:
-                    periods.append(quota.period)
+        return []
 
     return periods