From: Guillaume Pellerin Date: Tue, 1 Feb 2022 13:24:41 +0000 (+0100) Subject: reduce get_periods surface X-Git-Tag: 2.5.1~5^2~1 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=95edf98ca795017781d0bb63f3c4b813dfb53195;p=teleforma.git reduce get_periods surface --- diff --git a/teleforma/views/core.py b/teleforma/views/core.py index c1c564c3..ce845978 100644 --- a/teleforma/views/core.py +++ b/teleforma/views/core.py @@ -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