diff --git a/apps/school/models.py b/apps/school/models.py
index f63a2024..eaa17664 100644
--- a/apps/school/models.py
+++ b/apps/school/models.py
@@ -1,3 +1,4 @@
+import arrow
from datetime import datetime, timedelta
from django.db import models
@@ -65,6 +66,10 @@ class SchoolSchedule(models.Model):
).first()
return live_lesson
+ @property
+ def start_at_humanize(self):
+ return arrow.get(self.start_at).humanize(locale='ru') if self.start_at else None
+
class SchoolScheduleImage(models.Model):
schoolschedule = models.ForeignKey(
diff --git a/project/templates/blocks/promo.html b/project/templates/blocks/promo.html
index 9c37b96a..7f179344 100644
--- a/project/templates/blocks/promo.html
+++ b/project/templates/blocks/promo.html
@@ -11,6 +11,10 @@
Lil School — первая образовательная онлайн-платформа креативного мышления для детей
+ {% if online_coming_soon and school_schedule and school_schedule.start_at_humanize %}
+ До начала урока «{{ school_schedule.title }}»
+ {{ school_schedule.start_at_humanize }}
+ {% else %}
Присоединяйтесь в Рисовальный лагерь
@@ -30,8 +34,9 @@
{% if is_purchased_future and not is_purchased %}ваша подписка начинается {{school_purchased_future.date_start}}{% endif %}
{% if is_purchased %}ваша подписка истекает {{ subscription_ends_humanize }}
перейти к оплате{% endif %}
-
О лагере
+ {% endif %}
+
diff --git a/project/views.py b/project/views.py
index 61e62c90..2f6b62b1 100644
--- a/project/views.py
+++ b/project/views.py
@@ -27,6 +27,8 @@ class IndexView(TemplateView):
school_schedule = SchoolSchedule.objects.get(weekday=now_time.isoweekday())
except SchoolSchedule.DoesNotExist:
online = False
+ online_coming_soon = False
+ school_schedule = None
else:
end_at = datetime.combine(now_time.today(), school_schedule.start_at)
online = (
@@ -34,6 +36,12 @@ class IndexView(TemplateView):
(end_at + timedelta(hours=2)).time() >= now_time.time() and
school_schedule.current_live_lesson()
)
+ online_coming_soon = (
+ school_schedule.start_at < now_time.time() and
+ (school_schedule.start_at - timedelta(hours=5)).time() >= now_time.time() and
+ school_schedule.current_live_lesson()
+ )
+
date_now = now_time.date()
if self.request.user.is_authenticated:
school_payment = SchoolPayment.objects.filter(
@@ -62,6 +70,7 @@ class IndexView(TemplateView):
context.update({
'online': online,
+ 'online_coming_soon': online_coming_soon,
'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'],