LIL-557. Add coming soon block

remotes/origin/hasaccess
Ivlev Denis 8 years ago
parent 6297ec5826
commit a6e0abac58
  1. 5
      apps/school/models.py
  2. 7
      project/templates/blocks/promo.html
  3. 9
      project/views.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(

@ -11,6 +11,10 @@
<div class="main__title">
<span class="main__bold">Lil School</span> — первая образовательная онлайн-платформа креативного мышления для детей
</div>
{% if online_coming_soon and school_schedule and school_schedule.start_at_humanize %}
<div class="main__content">До начала урока «{{ school_schedule.title }}»</div>
<div class="main__time">{{ school_schedule.start_at_humanize }}</div>
{% else %}
<div class="main__subtitle">
Присоединяйтесь в Рисовальный лагерь
</div>
@ -30,8 +34,9 @@
{% if is_purchased_future and not is_purchased %}ваша подписка начинается {{school_purchased_future.date_start}}{% endif %}
{% if is_purchased %}ваша подписка истекает {{ subscription_ends_humanize }}<br/>перейти к оплате{% endif %}
</a>
<a class="main__btn btn btn_white" href="{% url 'school:summer-school' %}">О лагере</a>
{% endif %}
</div>
</div>
</div>

@ -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'],

Loading…
Cancel
Save