From 91baa808cb2e70f2c2cb0438006d68283ee7a2a2 Mon Sep 17 00:00:00 2001 From: Ivlev Denis Date: Mon, 30 Apr 2018 12:20:14 +0300 Subject: [PATCH] Fix check is online --- .../blocks/_schedule_purchased_item.html | 2 +- apps/school/views.py | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/apps/school/templates/blocks/_schedule_purchased_item.html b/apps/school/templates/blocks/_schedule_purchased_item.html index 2ee135cf..5d87320a 100644 --- a/apps/school/templates/blocks/_schedule_purchased_item.html +++ b/apps/school/templates/blocks/_schedule_purchased_item.html @@ -12,7 +12,7 @@
{{ school_schedule.start_at }} (МСК)
{% if school_schedule.weekday in school_schedules_purchased %} - {% if live_lesson %} + {% if live_lesson and school_schedule.is_online or live_lesson and is_previous %} {% include './open_lesson.html' %} {% endif %} {% else %} diff --git a/apps/school/views.py b/apps/school/views.py index ce25f018..267c7f67 100644 --- a/apps/school/views.py +++ b/apps/school/views.py @@ -1,3 +1,5 @@ +from datetime import datetime + 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, F @@ -78,6 +80,18 @@ class SchoolView(TemplateView): context = super().get_context_data() is_previous = 'is_previous' in self.request.GET date_now = now().date() + now_time = now() + try: + school_schedule = SchoolSchedule.objects.get(weekday=now_time.isoweekday()) + except SchoolSchedule.DoesNotExist: + online = False + else: + end_at = datetime.combine(now_time.today(), school_schedule.start_at) + online = ( + school_schedule.start_at <= now_time.time() and + (end_at + timedelta(hours=2)).time() >= now_time.time() and + school_schedule.current_live_lesson() + ) if self.request.user.is_authenticated: school_payment = SchoolPayment.objects.filter( user=self.request.user, @@ -91,6 +105,7 @@ class SchoolView(TemplateView): school_payment_exists = False school_schedules_purchased = [] context.update({ + 'online': online, 'is_previous': is_previous, 'course_items': Course.objects.filter(status=Course.PUBLISHED)[:6], 'is_purchased': school_payment_exists,