Merge branch 'feature/packages-page-1-08-19' of gitlab.com:lilschool/site into features/course-search-16-08-19
@ -0,0 +1,38 @@ |
||||
# Generated by Django 2.0.7 on 2019-07-30 20:32 |
||||
|
||||
import django.contrib.postgres.fields |
||||
from django.db import migrations, models |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('content', '0028_auto_20190726_0106'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.CreateModel( |
||||
name='Package', |
||||
fields=[ |
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
('price', models.DecimalField(decimal_places=2, max_digits=10)), |
||||
('high_price', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True)), |
||||
('description', models.TextField(db_index=True, default='', verbose_name='Описание')), |
||||
('duration', models.PositiveSmallIntegerField()), |
||||
('options', models.TextField(db_index=True, default='', verbose_name='Описание')), |
||||
], |
||||
options={ |
||||
'ordering': ('duration',), |
||||
}, |
||||
), |
||||
migrations.AlterField( |
||||
model_name='banner', |
||||
name='main_banner', |
||||
field=django.contrib.postgres.fields.ArrayField(base_field=models.IntegerField(choices=[(1, 'Главная'), (2, 'Курсы'), (3, 'Школа'), (4, 'Пакеты')]), blank=True, default=[], size=None), |
||||
), |
||||
migrations.AlterField( |
||||
model_name='banner', |
||||
name='pages', |
||||
field=django.contrib.postgres.fields.ArrayField(base_field=models.IntegerField(choices=[(1, 'Главная'), (2, 'Курсы'), (3, 'Школа'), (4, 'Пакеты')]), blank=True, default=[], size=None), |
||||
), |
||||
] |
||||
@ -0,0 +1,18 @@ |
||||
# Generated by Django 2.0.7 on 2019-08-09 01:33 |
||||
|
||||
from django.db import migrations, models |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('content', '0029_auto_20190730_2032'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.AlterField( |
||||
model_name='package', |
||||
name='options', |
||||
field=models.TextField(db_index=True, default='', verbose_name='Опции'), |
||||
), |
||||
] |
||||
@ -0,0 +1,25 @@ |
||||
# Generated by Django 2.0.7 on 2019-08-14 15:06 |
||||
|
||||
from django.db import migrations, models |
||||
import django.db.models.deletion |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('content', '0030_auto_20190809_0133'), |
||||
('payment', '0037_add_paid_one_more_bonuses'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.AddField( |
||||
model_name='schoolpayment', |
||||
name='package', |
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='content.Package'), |
||||
), |
||||
migrations.AlterField( |
||||
model_name='payment', |
||||
name='bonus', |
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='purchase_payments', to='payment.UserBonus'), |
||||
), |
||||
] |
||||
@ -0,0 +1,12 @@ |
||||
{% extends "templates/lilcity/index.html" %} {% load static %} {% block content %} |
||||
<div class="section"> |
||||
<div class="section__center center center_xs"> |
||||
<div class="done"> |
||||
<div class="done__title title">Вы успешно приобрели подписку с {{ package.date_start }} по {{ package.date_end }}!</div> |
||||
<div class="done__foot"> |
||||
<a class="done__btn btn btn_md btn_stroke" href="{% url 'index' %}">НА ГЛАВНУЮ</a> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
{% endblock content %} |
||||
@ -1,12 +1,23 @@ |
||||
{% load static %} |
||||
<div class="anchor" id="about"></div> |
||||
<div class="section section_school"> |
||||
<div class="section section_main section_flex section_about"> |
||||
<div class="section__center center"> |
||||
<div class="text text_lg"> |
||||
<div class="section__column section__column_img"> |
||||
</div> |
||||
<div class="section__column section__column_text"> |
||||
<div class="title">Для кого?<img class="emoji" src="{% static 'img/emoji-students.png' %}" /></div> |
||||
<div class="text text_left"> |
||||
<p>Вы житель мегаполиса и у вас нет времени дополнительно развивать своего ребенка? |
||||
Или вы живете в маленьком городе, |
||||
где нет качественных школ и секций для детей?</p> |
||||
<p><b>Lil School</b> это решение для тех родителей, кто стремится дать лучшее своему ребенку. |
||||
Учитесь не выходя из дома!</p> |
||||
<p><b>Lil-School</b> это решение для тех родителей, кто стремится дать лучшее своему ребенку. |
||||
Учитесь, не выходя из дома!</p> |
||||
</div> |
||||
<div class="section__buttons"> |
||||
<a class="btn btn_width-auto" style="width: auto;" |
||||
href="{% url 'packages' %}">Узнать стоимость</a> |
||||
<a href="{% url 'gift-certificates' %}" class="btn btn_gray">Подарить другу</a> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
@ -0,0 +1,32 @@ |
||||
{% load static %} |
||||
<div class="anchor" id="students"></div> |
||||
<div class="section section_main section_flex section_students"> |
||||
<div class="section__center center"> |
||||
<div class="section__column section__column_text"> |
||||
<div class="title">Наши ученики – многократные призеры международных конкурсов! |
||||
<img class="emoji" src="{% static 'img/emoji-winners.png' %}" /></div> |
||||
</div> |
||||
<div class="section__column section__column_text"> |
||||
<div class="text text_left"> |
||||
<p>Креативное мышление необходимо всем: дизайнерам, математикам, инженерам, предпринимателям и врачам.</p> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="section__center center"> |
||||
<div class="section__column section__column_img"> |
||||
</div> |
||||
<div class="section__column section__column_text"> |
||||
<div class="section__quote"> |
||||
<div class="section__quote-text"> |
||||
Лил Скул для меня это место, где Солнце может быть синего цвета. |
||||
</div> |
||||
<div class="section__quote-name">Злата Пыльцина, 7 лет. Город Волгоград.</div> |
||||
</div> |
||||
<div class="section__buttons"> |
||||
<a class="btn js-video-modal" style="width: auto;" |
||||
data-video-url="https://www.youtube.com/watch?v=QrlR5sL_eGI" |
||||
href="#">Видео отзыв</a> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
@ -1,10 +1,25 @@ |
||||
<div class="section section_video"> |
||||
<div class="section__center center center_sm" style="text-align: center;"> |
||||
<div class="title">Пробный урок</div> |
||||
{% load static %} |
||||
<div class="section section_main section_flex section_video"> |
||||
<div class="section__center center"> |
||||
<div class="section__column section__column_text"> |
||||
<div class="title">Попробуйте бесплатно<img class="emoji" src="{% static 'img/emoji-cat.png' %}" /></div> |
||||
<div class="text text_left"> |
||||
<p>Тысячи видео-уроков на разные темы для развития творческого мышления уже ждут вас. Учитесь, не выходя из дома!</p> |
||||
</div> |
||||
<div class="section__buttons mobile-hide"> |
||||
<a href="#" class="btn btn_white js-video-modal" style="width: auto;" |
||||
data-video-url="{{ config.MAIN_PAGE_VIDEO_URL|safe }}" data-trial-lesson="1">Смотреть бесплатный урок |
||||
<img class="emoji" src="{% static 'img/emoji-present.png' %}" /></a> |
||||
</div> |
||||
</div> |
||||
<div class="section__column section__column_img"> |
||||
<img class="main-video-preview js-video-modal" data-video-url="{{ config.MAIN_PAGE_VIDEO_URL|safe }}" data-trial-lesson="1" |
||||
src="{{ config.MAIN_PAGE_VIDEO_PREVIEW_IMG.url }}"/> |
||||
<a href="#" class="btn js-video-modal btn_stroke-black" style="margin: 20px;" |
||||
data-video-url="{{ config.MAIN_PAGE_VIDEO_URL|safe }}" data-trial-lesson="1">Смотреть бесплатно</a> |
||||
<div>Много развивающих видео на нашем <a href="{{ config.SERVICE_YOUTUBE_URL|safe }}">YouTube канале</a></div> |
||||
<div class="section__buttons mobile-show"> |
||||
<a href="#" class="btn btn_white js-video-modal" |
||||
data-video-url="{{ config.MAIN_PAGE_VIDEO_URL|safe }}" data-trial-lesson="1">Смотреть бесплатный урок |
||||
<img class="emoji" src="{% static 'img/emoji-present.png' %}" /></a> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
@ -0,0 +1,144 @@ |
||||
{% extends "templates/lilcity/index.html" %} |
||||
{% load static %} |
||||
{% load plural %} |
||||
|
||||
{% block content %} |
||||
<div class="section"> |
||||
<div class="section__center center"> |
||||
<div class="packages"> |
||||
{% for package in packages %} |
||||
<div class="package" |
||||
{% if forloop.counter == 4 %}style="box-shadow: 0 10px 30px 0 rgba(241, 175, 50, 0.32);"{% endif %}> |
||||
<div class="package__title subtitle"> |
||||
{% if package.duration == 12 %} |
||||
<b>1</b> год |
||||
{% else %} |
||||
<b>{{ package.duration }}</b> {{ package.duration|ruplural:"месяц,месяца,месяцев" }} |
||||
{% endif %} |
||||
</div> |
||||
<div class="package__desc">{{ package.description }}</div> |
||||
<div class="package__price"> |
||||
{{ package.price|floatformat }}р |
||||
{% if package.high_price %} |
||||
<div class="package__high-price"> {{ package.high_price|floatformat }}р </div> |
||||
{% endif %} |
||||
</div> |
||||
<div class="package__options"> |
||||
<b>Включает:</b> |
||||
<div>{{ package.options_html|safe }}</div> |
||||
</div> |
||||
<div> |
||||
<a class="package__btn btn {% if forloop.counter == 2 %}btn_light{% endif %}" |
||||
{% if forloop.counter == 1 %} |
||||
style="background-image: linear-gradient(104deg, #f8f8f8, #fff2f2)" |
||||
{% endif %} |
||||
{% if forloop.counter == 4 %} |
||||
style="background-image: linear-gradient(to bottom, #ffe790, #f9d055 45%, #f9c155); padding: 12px 9px;" |
||||
{% endif %} |
||||
|
||||
{% if user.is_authenticated %} |
||||
href="{% url 'school-checkout' %}?duration={{ package.duration }}" |
||||
{% else %} |
||||
href="#" data-popup=".js-popup-auth" |
||||
{% endif %} |
||||
>{% if forloop.counter == 4 %}Вступить в Lil-Клуб{% else %}Купить{% endif %}</a> |
||||
</div> |
||||
{% if next_buy_date %} |
||||
<div style="font-size: 12px; margin-top: 10px; height: 15px;"> |
||||
на {{ package.duration|rupluralize:"месяц,месяца,месяцев" }} с {{ next_buy_date|date:'j b' }} |
||||
</div> |
||||
{% endif %} |
||||
{% if forloop.counter == 4 %} |
||||
<img class="package__medal" src="{% static 'img/medal.png' %}" /> |
||||
{% endif %} |
||||
</div> |
||||
{% endfor %} |
||||
<div class="mobile-show"> </div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="section section_packages"> |
||||
<div class="section__center center"> |
||||
<div class="subtitle3"> |
||||
Учиться вы можете и бесплатно |
||||
</div> |
||||
<div class="text2"> |
||||
<p> |
||||
Приглашайте друзей и знакомых на платформу и получайте 30% от суммы их первой покупки.<br> |
||||
Просто отправьте специальную ссылку, по которой ваши друзья могут присоединиться к нам. |
||||
</p> |
||||
{% if user.is_authenticated %} |
||||
<p><a href="{% url 'user-bonuses' %}">Узнать больше о том, как зарабатывать вместе с Lil School</a></p> |
||||
{% endif %} |
||||
<p style="text-align: center; margin: 35px 0;"> |
||||
<a href="#" class="package__trial-btn btn btn_white btn_shadow js-video-modal" |
||||
data-video-url="{{ config.MAIN_PAGE_VIDEO_URL|safe }}" data-trial-lesson="1"> |
||||
Получить бесплатный урок <img src="{% static 'img/emoji_present.png' %}" /></a> |
||||
</p> |
||||
<p></p> |
||||
</div> |
||||
<div class="subtitle3">Часто задаваемые вопросы:</div> |
||||
<div class="text2"> |
||||
<p> |
||||
<b>Что значит «доступ ко всем урокам школы/лагеря»?</b><br/> |
||||
Максимальный доступ включает все уроки школы:<br> |
||||
По будням с 1 сентября по 31 мая. Пять уроков в неделю.<br> |
||||
И все уроки летнего рисовального лагеря:<br> |
||||
С 1 июня по 31 августа. Три урока в неделю. |
||||
</p> |
||||
<p> |
||||
<b>Какие дисциплины входят в программу онлайн-школы и рисовального лагеря?</b><br/> |
||||
В онлайн-школе пять дисциплин:<br> |
||||
Понедельник - иллюстрация;<br> |
||||
Вторник - пластилиновая живопись;<br> |
||||
Среда - акварель;<br> |
||||
Четверг - креативное мышление;<br> |
||||
Пятница - зенарт.<br> |
||||
В рисовальном лагере облегчённая программа. Микс из трёх дисциплин ежемесячно. |
||||
</p> |
||||
<p> |
||||
<b>Сколько хранится запись урока?</b><br/> |
||||
Запись урока онлайн-школы хранится неделю. Ровно до следующего урока. В Золотом клубе уроки хранятся месяц. |
||||
</p> |
||||
<p> |
||||
<b>Если я приобрёл доступ на месяц, а после начала занятий решил взять на год?</b><br/> |
||||
В любой момент можно стать участником клуба! Новая подписка начнется на следующий день после окончания предыдущей, |
||||
а купить ее вы можете когда захотите! |
||||
</p> |
||||
<p> |
||||
<b>Могу ли я перейти на более низкий тариф?</b><br/> |
||||
Конечно можете. Компенсацию разницы мы возместим в течение 60 банковских дней. |
||||
</p> |
||||
<p> |
||||
<b>Если я не успел использовать привилегии золотого статуса в течение года?</b><br/> |
||||
Желательно использовать все привилегии в установленный срок, т.к. доступ к ним платформа предоставляет |
||||
автоматически. В других случаях администрация школы может рассмотреть сложившуюся ситуацию в индивидуальном порядке. |
||||
</p> |
||||
<p> |
||||
<b>Что делать после оплаты? Как узнать, что меня добавили в школу?</b><br/> |
||||
Нажмите на иконку в правом верхнем углу. Перейдите в свой профиль. Все, - приобретённые вами курсы хранятся там. |
||||
</p> |
||||
<p> |
||||
<b>Если я купил доступ на месяц не первого, а восьмого сентября, какая будет цена?</b><br/> |
||||
Цена будет такая же - 1990₽. Система автоматически откроет вам доступ с восьмого сентября по восьмое октября. |
||||
</p> |
||||
<p> |
||||
<b>Если я купил доступ восьмого сентября, будет ли у меня доступ к урокам, которые вышли до этой даты?</b><br/> |
||||
Система автоматически откроет вам доступ на месяц вперёд. Прошедших уроков в нём не будет. |
||||
</p> |
||||
<p> |
||||
<b>Как получить грамоту?</b><br/> |
||||
По окончании месяца занятий именная грамота автоматически придёт вам на e-mail, который вы указывали при регистрации на платформе. |
||||
</p> |
||||
<p> |
||||
<b>Можно ли купить не все дисциплины школы, а только некоторые?</b><br/> |
||||
Такой технической возможности нет. |
||||
</p> |
||||
<p> |
||||
<b>Можно ли купить неделю занятий?</b><br/> |
||||
Минимальный срок доступа - месяц. |
||||
</p> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
{% endblock content %} |
||||
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 7.1 KiB |
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 4.5 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 4.5 KiB |
|
After Width: | Height: | Size: 265 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 1.1 MiB |