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