|
|
|
@ -110,9 +110,7 @@ class SchoolView(TemplateView): |
|
|
|
|
|
|
|
|
|
|
|
def get_context_data(self): |
|
|
|
def get_context_data(self): |
|
|
|
context = super().get_context_data() |
|
|
|
context = super().get_context_data() |
|
|
|
is_previous = 'is_previous' in self.request.GET |
|
|
|
|
|
|
|
date_now = now().date() |
|
|
|
date_now = now().date() |
|
|
|
yesterday = date_now - timedelta(days=1) |
|
|
|
|
|
|
|
now_time = now() |
|
|
|
now_time = now() |
|
|
|
try: |
|
|
|
try: |
|
|
|
school_schedule = SchoolSchedule.objects.get(weekday=now_time.isoweekday()) |
|
|
|
school_schedule = SchoolSchedule.objects.get(weekday=now_time.isoweekday()) |
|
|
|
@ -132,8 +130,8 @@ class SchoolView(TemplateView): |
|
|
|
key=lambda ss: ss.current_live_lesson and ss.current_live_lesson.date) |
|
|
|
key=lambda ss: ss.current_live_lesson and ss.current_live_lesson.date) |
|
|
|
except Exception: |
|
|
|
except Exception: |
|
|
|
school_schedules_sorted = school_schedules |
|
|
|
school_schedules_sorted = school_schedules |
|
|
|
live_lessons = [] |
|
|
|
prev_live_lessons = [] |
|
|
|
live_lessons_exists = False |
|
|
|
prev_live_lessons_exists = False |
|
|
|
subscription_ends = None |
|
|
|
subscription_ends = None |
|
|
|
school_payment_exists = False |
|
|
|
school_payment_exists = False |
|
|
|
school_schedules_purchased = [] |
|
|
|
school_schedules_purchased = [] |
|
|
|
@ -178,31 +176,29 @@ class SchoolView(TemplateView): |
|
|
|
weekdays__len__gt=0, |
|
|
|
weekdays__len__gt=0, |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
if is_previous: |
|
|
|
# берем все подписки, которые были в периоде |
|
|
|
# берем все подписки, которые были в периоде |
|
|
|
for sp in prev_school_payments: |
|
|
|
for sp in prev_school_payments: |
|
|
|
# берем все уроки в оплаченном промежутке |
|
|
|
# берем все уроки в оплаченном промежутке |
|
|
|
date_range = [max(sp.date_start, prev_range[0]), min(sp.date_end, prev_range[1])] |
|
|
|
date_range = [max(sp.date_start, prev_range[0]), min(sp.date_end, prev_range[1])] |
|
|
|
prev_live_lessons = LiveLesson.objects.filter( |
|
|
|
live_lessons += LiveLesson.objects.filter( |
|
|
|
date__range=date_range, |
|
|
|
date__range=date_range, |
|
|
|
deactivated_at__isnull=True, |
|
|
|
deactivated_at__isnull=True, |
|
|
|
date__week_day__in=list(map(lambda x: 1 if x == 7 else x+1, sp.weekdays)), |
|
|
|
date__week_day__in=list(map(lambda x: 1 if x == 7 else x+1, sp.weekdays)), |
|
|
|
).values_list('id', flat=True) |
|
|
|
).values_list('id', flat=True) |
|
|
|
prev_live_lessons = LiveLesson.objects.filter(id__in=set(prev_live_lessons)).order_by('-date') |
|
|
|
live_lessons = LiveLesson.objects.filter(id__in=set(live_lessons)).order_by('-date') |
|
|
|
prev_live_lessons_exists = prev_live_lessons.exists() |
|
|
|
live_lessons_exists = live_lessons.exists() |
|
|
|
if prev_live_lessons_exists: |
|
|
|
if live_lessons_exists: |
|
|
|
school_schedules_dict = {ss.weekday: ss for ss in school_schedules} |
|
|
|
school_schedules_dict = {ss.weekday: ss for ss in school_schedules} |
|
|
|
school_schedules_dict[0] = school_schedules_dict.get(7) |
|
|
|
school_schedules_dict[0] = school_schedules_dict.get(7) |
|
|
|
for ll in prev_live_lessons: |
|
|
|
for ll in live_lessons: |
|
|
|
ll.school_schedule = school_schedules_dict.get(ll.date.isoweekday()) |
|
|
|
ll.school_schedule = school_schedules_dict.get(ll.date.isoweekday()) |
|
|
|
else: |
|
|
|
else: |
|
|
|
prev_live_lessons = [] |
|
|
|
live_lessons = [] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
context.update({ |
|
|
|
context.update({ |
|
|
|
'online': online, |
|
|
|
'online': online, |
|
|
|
'live_lessons': live_lessons, |
|
|
|
'prev_live_lessons': prev_live_lessons, |
|
|
|
'live_lessons_exists': live_lessons_exists, |
|
|
|
'prev_live_lessons_exists': prev_live_lessons_exists, |
|
|
|
'is_previous': is_previous, |
|
|
|
|
|
|
|
'course_items': Course.objects.filter(status=Course.PUBLISHED)[:6], |
|
|
|
'course_items': Course.objects.filter(status=Course.PUBLISHED)[:6], |
|
|
|
'is_purchased': school_payment_exists, |
|
|
|
'is_purchased': school_payment_exists, |
|
|
|
'is_purchased_future': False, |
|
|
|
'is_purchased_future': False, |
|
|
|
|