diff --git a/apps/school/models.py b/apps/school/models.py index faf6eaf0..1899f27d 100644 --- a/apps/school/models.py +++ b/apps/school/models.py @@ -49,7 +49,7 @@ class SchoolSchedule(models.Model): def current_live_lesson(self): now_time = now() live_lesson = LiveLesson.objects.filter( - date__week_day=self.weekday + 1 if self.weekday % 7 else 1, + date__week_day=self.weekday % 7 + 1, date__week=now_time.date().isocalendar()[1], deactivated_at__isnull=True, ).first() @@ -58,7 +58,7 @@ class SchoolSchedule(models.Model): def previous_live_lesson(self): now_time = now() live_lesson = LiveLesson.objects.filter( - date__week_day=self.weekday + 1 if self.weekday % 7 else 1, + date__week_day=self.weekday % 7 + 1, date__week=(now_time.date() - timedelta(weeks=1)).isocalendar()[1], deactivated_at__isnull=True, ).first() diff --git a/apps/school/views.py b/apps/school/views.py index e086a078..b680ae99 100644 --- a/apps/school/views.py +++ b/apps/school/views.py @@ -1,6 +1,6 @@ from django.contrib.auth import get_user_model from django.contrib.auth.decorators import login_required, user_passes_test -from django.db.models import Min +from django.db.models import Min, F from django.http import Http404 from django.shortcuts import get_object_or_404 from django.utils.decorators import method_decorator @@ -95,7 +95,9 @@ class SchoolView(TemplateView): 'course_items': Course.objects.filter(status=Course.PUBLISHED)[:6], 'is_purchased': school_payment_exists, 'min_school_price': SchoolSchedule.objects.aggregate(Min('month_price'))['month_price__min'], - 'school_schedules': SchoolSchedule.objects.all(), + 'school_schedules': SchoolSchedule.objects.annotate( + width=date_now.weekday()-F('weekday') % 7, + ).order_by('-width'), 'school_schedules_purchased': school_schedules_purchased, 'subscription_ends': school_payment.first().date_end if school_payment_exists else None, })