diff --git a/apps/notification/templates/notification/email/_base.html b/apps/notification/templates/notification/email/_base.html index 8e07714f..a84b3351 100644 --- a/apps/notification/templates/notification/email/_base.html +++ b/apps/notification/templates/notification/email/_base.html @@ -22,7 +22,7 @@ -
Первая онлайн-школа креативного мышления Lil City School
+
Первая онлайн-школа креативного мышления Lil School
diff --git a/apps/payment/templates/payment/payment_success.html b/apps/payment/templates/payment/payment_success.html index 7d174018..670678fa 100644 --- a/apps/payment/templates/payment/payment_success.html +++ b/apps/payment/templates/payment/payment_success.html @@ -5,7 +5,7 @@ {% if school %}
Вы успешно приобрели доступ к урокам онлайн-школы!
- ПЕРЕЙТИ К ШКОЛЕ + ПЕРЕЙТИ К ШКОЛЕ
{% else %}
Вы успешно приобрели курс!
diff --git a/apps/payment/views.py b/apps/payment/views.py index 7d9aeded..84772ffa 100644 --- a/apps/payment/views.py +++ b/apps/payment/views.py @@ -5,6 +5,9 @@ import logging from datetime import timedelta from urllib.parse import urlsplit +import datetime +import calendar + from django.contrib import messages from django.contrib.auth.decorators import login_required from django.http import HttpResponse @@ -95,12 +98,12 @@ class SchoolBuyView(TemplateView): add_days = 'add_days' in request.GET if not weekdays: messages.error(request, 'Выберите несколько дней недели.') - return redirect('school:school') + return redirect('school:summer-school') try: weekdays = [int(weekday) for weekday in weekdays] except ValueError: messages.error(request, 'Ошибка выбора дней недели.') - return redirect('school:school') + return redirect('school:summer-school') if add_days: _school_payment = SchoolPayment.objects.get( user=request.user, @@ -117,7 +120,7 @@ class SchoolBuyView(TemplateView): ) if school_payment.amount <= 0: messages.error(request, 'Выбранные дни отсутствуют в оставшемся периоде подписки') - return redirect(reverse_lazy('school:school')) + return redirect(reverse_lazy('school:summer-school')) else: school_payment = SchoolPayment.objects.create( user=request.user, @@ -148,6 +151,13 @@ class SchoolBuyView(TemplateView): @method_decorator(csrf_exempt, name='dispatch') class PaymentwallCallbackView(View): + def add_months(self, sourcedate, months): + month = sourcedate.month - 1 + months + year = sourcedate.year + month // 12 + month = month % 12 + 1 + day = min(sourcedate.day, calendar.monthrange(year, month)[1]) + return datetime.date(year, month, day) + def get_request_ip(self): x_forwarded_for = self.request.META.get('HTTP_X_FORWARDED_FOR') if x_forwarded_for: @@ -201,14 +211,15 @@ class PaymentwallCallbackView(View): ).last() if school_payment: if payment.add_days: - date_start = now() + date_start = self.add_months(sourcedate=now().replace(hour=0, minute=0, day=1), months=1) date_end = school_payment.date_end else: date_start = arrow.get(school_payment.date_end).shift(days=1).datetime date_end = arrow.get(date_start).shift(months=1).datetime else: - date_start = now() - date_end = arrow.get(date_start).shift(months=1).datetime + date_start = self.add_months(sourcedate=now().replace(hour=0, minute=0, day=1), months=1) + date__end = arrow.get(date_start).shift(months=1) - datetime.timedelta(minutes=1) + date_end = date__end.datetime payment.date_start = date_start payment.date_end = date_end if product_type_name == 'course': diff --git a/apps/school/fixtures/school_schedules.json b/apps/school/fixtures/school_schedules.json index 8cba4ef4..b2044978 100644 --- a/apps/school/fixtures/school_schedules.json +++ b/apps/school/fixtures/school_schedules.json @@ -14,21 +14,6 @@ "start_at": "17:00:00" } }, - { - "model": "school.schoolschedule", - "pk": 2, - "fields": { - "weekday": 2, - "title": "Живопись", - "short_description": "Однажды он затеял скандал на торговой площади ради леденца, вокруг собралась толпа, и полицейские...", - "description": "Позднее в возрасте 5 лет на его могиле родители сказали Сальвадору, что он — реинкарнация своего старшего брата.", - "materials": "В детстве Дали был сообразительным, но заносчивым и неуправляемым ребёнком.", - "age": 0, - "month_price": "500.00", - "day_discount": "0.00", - "start_at": "17:00:00" - } - }, { "model": "school.schoolschedule", "pk": 3, @@ -44,21 +29,6 @@ "start_at": "17:00:00" } }, - { - "model": "school.schoolschedule", - "pk": 4, - "fields": { - "weekday": 4, - "title": "Моторика", - "short_description": "Многочисленные комплексы[какие?] и фобии, например, страх перед", - "description": "Многочисленные комплексы[какие?] и фобии, например, страх перед кузнечиками[9], мешали ему включиться в обычную школьную жизнь, завести с детьми обычные связи дружбы и симпатии.", - "materials": "Но, как и любой человек, испытывая сенсорный голод, он искал эмоциональный контакт с детьми любыми способами, стараясь вжиться в их коллектив если не в роли товарища, то в любой другой роли, а точнее той единственной, на которую был способен, — в роли эпатажного и непослушного ребёнка, странного, чудаковатого, всегда поступающего вопреки чужим мнениям.", - "age": 0, - "month_price": "500.00", - "day_discount": "0.00", - "start_at": "17:00:00" - } - }, { "model": "school.schoolschedule", "pk": 5, @@ -73,35 +43,5 @@ "day_discount": "0.00", "start_at": "17:00:00" } - }, - { - "model": "school.schoolschedule", - "pk": 6, - "fields": { - "weekday": 6, - "title": "Анимация", - "short_description": "Проигрывая в школьных азартных играх, он вёл себя так", - "description": "Обучаться изобразительному искусству Дали начал в муниципальной художественной школе. С 1914 по 1918 год воспитывался в Академии братьев ордена маристов в Фигерасе.", - "materials": "Одним из друзей детства был будущий футболист ФК «Барселона» Хосеп Самитьер. В 1916 году, с семьей Рамона Пишó, отправился на каникулы в город Кадакéс, где познакомился с современным искусством.", - "age": 0, - "month_price": "500.00", - "day_discount": "0.00", - "start_at": "17:00:00" - } - }, - { - "model": "school.schoolschedule", - "pk": 7, - "fields": { - "weekday": 7, - "title": "Персонаж", - "short_description": "Проигрывая в школьных азартных играх, он вёл себя так", - "description": "После прихода к власти Каудильо Фрáнко в 1936 году Дали ссорится с сюрреалистами, стоящими на левых позициях, и его исключают из группы.", - "materials": "В ответ Дали: «Сюрреализм — это я».", - "age": 0, - "month_price": "500.00", - "day_discount": "0.00", - "start_at": "17:00:00" - } } ] diff --git a/apps/school/templates/blocks/promo.html b/apps/school/templates/blocks/promo.html index c225e36c..72137dbb 100644 --- a/apps/school/templates/blocks/promo.html +++ b/apps/school/templates/blocks/promo.html @@ -2,17 +2,13 @@
- Lil City School — первая образовательная онлайн-платформа креативного мышления для детей
+ Lil School — первая образовательная онлайн-платформа креативного мышления для детей
купить доступ от {{ min_school_price }} руб./месяц + data-popup=".js-popup-subscribe" + class="main__btn btn" + href="#" + >Оставить заявку
diff --git a/apps/school/templates/blocks/schedule.html b/apps/school/templates/blocks/schedule.html index be8830ec..5e262fc1 100644 --- a/apps/school/templates/blocks/schedule.html +++ b/apps/school/templates/blocks/schedule.html @@ -19,7 +19,7 @@
{{ school_schedule.start_at }} (МСК)
- {% include './pay_btn.html' %} +
@@ -77,7 +77,7 @@ {% endfor %}
- {% include './pay_btn.html' %} + Распечатать расписание чтобы не забыть diff --git a/apps/school/templates/school/school.html b/apps/school/templates/school/school.html index a0bc4978..f69f9ecb 100644 --- a/apps/school/templates/school/school.html +++ b/apps/school/templates/school/school.html @@ -1,15 +1,10 @@ {% extends "templates/lilcity/index.html" %} {% load static %} {% block title %}Онлайн-школа LilCity{% endblock title%} {% block content %} -{% if not is_purchased %} {% include "../blocks/promo.html" %} {% include "../blocks/about.html" %} {% include "../blocks/advantages.html" %} {% include "../blocks/online.html" %} -{% include "../blocks/schedule.html" %} {% include "templates/blocks/game.html" %} {% include "templates/blocks/partners.html" %} -{% else %} -{% include "../blocks/schedule_purchased.html" %} -{% endif %} {% endblock %} diff --git a/apps/school/templates/school/summer_school.html b/apps/school/templates/school/summer_school.html new file mode 100644 index 00000000..133f8d8b --- /dev/null +++ b/apps/school/templates/school/summer_school.html @@ -0,0 +1,15 @@ +{% extends "templates/lilcity/index.html" %} {% load static %} +{% block title %}Онлайн-школа LilCity{% endblock title%} +{% block content %} +{% if not is_purchased %} +{% include "../summer/promo.html" %} +{% include "../summer/about.html" %} +{% include "../summer/advantages.html" %} +{% include "../summer/online.html" %} +{% include "../blocks/schedule.html" %} +{% include "templates/blocks/game.html" %} +{% include "templates/blocks/partners.html" %} +{% else %} +{% include "../summer/schedule_purchased.html" %} +{% endif %} +{% endblock %} diff --git a/apps/school/templates/summer/_schedule_purchased_item.html b/apps/school/templates/summer/_schedule_purchased_item.html new file mode 100644 index 00000000..7bc7e6d7 --- /dev/null +++ b/apps/school/templates/summer/_schedule_purchased_item.html @@ -0,0 +1,78 @@ +{% load static %} {% load thumbnail %} + diff --git a/apps/school/templates/summer/about.html b/apps/school/templates/summer/about.html new file mode 100644 index 00000000..fbbb25d7 --- /dev/null +++ b/apps/school/templates/summer/about.html @@ -0,0 +1,26 @@ +{% load static %} +
+
+
О школе
+
+
+ +
+
+
+

С раннего возраста мы стремимся развить в детях креативность, умение думать и анализировать, работать в смешанных + техниках и всевозможными материалами. Каждый урок интересный и уникальный.

+

Для раскрытия творческого потенциала создаем благоприятные условия которые вдохновляют к развитию. Наша школа создает + необходимую среду, в которой маленькое семечко способностей и желания рисовать вырастет в могучее дерево безграничного + потенциала. +

+

Наши ученики становятся осознанными, уверенными и творческими личностями.

+

Они способны решать сложные задачи благодаря воображению.

+
+
- Sasha Kru, CEO и основатель + Lil.City +
+
+
+
+
diff --git a/apps/school/templates/summer/advantages.html b/apps/school/templates/summer/advantages.html new file mode 100644 index 00000000..68a891e6 --- /dev/null +++ b/apps/school/templates/summer/advantages.html @@ -0,0 +1,44 @@ +{% load static %} +
+
+
Преимущества
+
+
+
+ + + +
+
Доступность
+
Учитесь, не выходя из дома. С жизнью в городах, времени для образования остается не много.
+
+
+
+ + + +
+
Стоимость
+
Онлайн-образование дешевле и эффективнее. Вы сами выбираете сколько платить.
+
+
+
+ + + +
+
Свобода перемещений
+
С онлайн-образованием не нужно тратить свое время на что-то кроме образования.
+
+
+
+ + + +
+
Выбор преподавателя
+
Личные аккаунты Инстаграм также доступны, чтобы узнать о творчестве, мыслях и интересах.
+
+
+
+
\ No newline at end of file diff --git a/apps/school/templates/summer/day_pay_btn.html b/apps/school/templates/summer/day_pay_btn.html new file mode 100644 index 00000000..155b8827 --- /dev/null +++ b/apps/school/templates/summer/day_pay_btn.html @@ -0,0 +1,7 @@ +купить diff --git a/apps/school/templates/summer/last_courses.html b/apps/school/templates/summer/last_courses.html new file mode 100644 index 00000000..158acd9c --- /dev/null +++ b/apps/school/templates/summer/last_courses.html @@ -0,0 +1,21 @@ +{% load static %} {% if course_items %} +
+
+
+

Хотите ещё? :) +
Для Вас у нас есть дополнительные видео-курсы на самые душещипательные темы.

+
+
+
Видео-курсы
+
+
+
+ {% include "course/course_items.html" %} +
+ +
+
+
+{% endif %} diff --git a/apps/school/templates/summer/online.html b/apps/school/templates/summer/online.html new file mode 100644 index 00000000..3599afcc --- /dev/null +++ b/apps/school/templates/summer/online.html @@ -0,0 +1,12 @@ +{% load static %} + +
+
ПРЯМОЙ ЭФИР
+
В 17.00 (по Мск)
+
Понедельник, среда, пятница.
+
+ + + СМОТРЕТЬ ПРИМЕР ЭФИРА
+
+
diff --git a/apps/school/templates/summer/open_lesson.html b/apps/school/templates/summer/open_lesson.html new file mode 100644 index 00000000..46999c7f --- /dev/null +++ b/apps/school/templates/summer/open_lesson.html @@ -0,0 +1,4 @@ +смотреть урок diff --git a/apps/school/templates/summer/prolong_btn.html b/apps/school/templates/summer/prolong_btn.html new file mode 100644 index 00000000..c4026242 --- /dev/null +++ b/apps/school/templates/summer/prolong_btn.html @@ -0,0 +1,9 @@ +продлить diff --git a/apps/school/templates/summer/promo.html b/apps/school/templates/summer/promo.html new file mode 100644 index 00000000..7bdf1178 --- /dev/null +++ b/apps/school/templates/summer/promo.html @@ -0,0 +1,67 @@ +{% load static %} +
+
+
+ Lil School — первая образовательная онлайн-платформа креативного мышления для детей +
+
+ Присоединяйтесь в Рисовальный лагерь +
+ +
+
+
+ + + +
+
Прямой эфир
+
Понедельник, среда, пятница
+
+
+
+ + + +
+
В 17:00
+
По московскому времени
+
+
+
+ + + +
+
12 уроков
+
В разных техниках
+
+
+
+ + + +
+
Запись эфира
+
Хранится 7 дней
+
+
+
+
diff --git a/apps/school/templates/summer/schedule_purchased.html b/apps/school/templates/summer/schedule_purchased.html new file mode 100644 index 00000000..467be723 --- /dev/null +++ b/apps/school/templates/summer/schedule_purchased.html @@ -0,0 +1,69 @@ +{% load static %} {% load thumbnail %} +
+
+ {% include 'templates/blocks/messages.html' %} +
+
+ +
+
+ {% if not profile %} +
+ {% if is_previous %} +
Запись уроков
+ {% else %} +
Новые уроки
+ {% endif %} + +
+ {% endif %} +
+
+ {% if is_previous and not live_lessons_exists %} + Записей уроков пока нет + {% else %} + {% for school_schedule in school_schedules %} + {% if is_previous %} + {% if school_schedule.previous_live_lesson in live_lessons %} + {% include './_schedule_purchased_item.html' with school_schedule=school_schedule live_lesson=school_schedule.previous_live_lesson %} + {% endif %} + {% else %} + {% include './_schedule_purchased_item.html' with school_schedule=school_schedule live_lesson=school_schedule.current_live_lesson %} + {% endif %} + {% endfor %} + {% endif %} +
+
+ {% comment %} previous week schedules {% endcomment %} +
+ +
+
+
+
+
+{% include './last_courses.html' %} diff --git a/apps/school/urls.py b/apps/school/urls.py index 59973c6d..47361f96 100644 --- a/apps/school/urls.py +++ b/apps/school/urls.py @@ -3,11 +3,12 @@ from django.urls import path, include from .views import ( LiveLessonsView, LiveLessonEditView, LiveLessonsDetailView, SchoolView, - SchoolSchedulesPrintView, + SchoolSchedulesPrintView, SummerSchoolView, ) urlpatterns = [ path('', SchoolView.as_view(), name='school'), + path('summer', SummerSchoolView.as_view(), name='summer-school'), path('schedules/print', SchoolSchedulesPrintView.as_view(), name='school_schedules-print'), path('lessons/', LiveLessonsView.as_view(), name='lessons'), path('lessons/create', LiveLessonEditView.as_view(), name='lessons-create'), diff --git a/apps/school/views.py b/apps/school/views.py index 044f5906..ae9b64f0 100644 --- a/apps/school/views.py +++ b/apps/school/views.py @@ -161,15 +161,92 @@ 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.annotate( - calk=F('weekday') - now().isoweekday(), - weight=(7 + F('calk') % 7) % 7, - ).order_by('weight'), + 'school_schedules': SchoolSchedule.objects.all(), 'school_schedules_purchased': school_schedules_purchased, 'subscription_ends': school_payment.filter(add_days=False).first().date_end if school_payment_exists else None, }) return context +class SummerSchoolView(TemplateView): + template_name = 'school/summer_school.html' + + def get_context_data(self): + 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, + status__in=[ + Pingback.PINGBACK_TYPE_REGULAR, + Pingback.PINGBACK_TYPE_GOODWILL, + Pingback.PINGBACK_TYPE_RISK_REVIEWED_ACCEPTED, + ], + date_start__lte=date_now, + date_end__gte=date_now + ) + school_payment_exists = school_payment.exists() + + school_payment_future = SchoolPayment.objects.filter( + user=self.request.user, + status__in=[ + Pingback.PINGBACK_TYPE_REGULAR, + Pingback.PINGBACK_TYPE_GOODWILL, + Pingback.PINGBACK_TYPE_RISK_REVIEWED_ACCEPTED, + ], + date_start__gte=date_now, + date_end__gte=date_now + ) + + school_payment_exists_future = school_payment_future.exists() + school_purchased_future = school_payment_future.last() + + school_schedules_purchased = school_payment.annotate( + joined_weekdays=Func(F('weekdays'), function='unnest',) + ).values_list('joined_weekdays', flat=True).distinct() + else: + school_payment_exists = False + school_payment_exists_future = False + school_purchased_future = False + school_schedules_purchased = [] + if school_payment_exists and is_previous: + live_lessons = LiveLesson.objects.filter( + date__gte=school_payment.last().date_start, + date__range=[(now_time - timedelta(days=8)).date(), (now_time - timedelta(days=1)).date()], + deactivated_at__isnull=True, + ) + live_lessons_exists = live_lessons.exists() + else: + live_lessons = None + live_lessons_exists = False + context.update({ + 'online': online, + 'live_lessons': live_lessons, + 'live_lessons_exists': live_lessons_exists, + 'is_previous': is_previous, + 'course_items': Course.objects.filter(status=Course.PUBLISHED)[:6], + 'is_purchased': school_payment_exists, + 'is_purchased_future': school_payment_exists_future, + 'min_school_price': SchoolSchedule.objects.aggregate(Min('month_price'))['month_price__min'], + 'school_schedules': SchoolSchedule.objects.all(), + 'school_schedules_purchased': school_schedules_purchased, + 'school_purchased_future': school_purchased_future, + 'subscription_ends': school_payment.filter(add_days=False).first().date_end if school_payment_exists else None, + }) + return context + class SchoolSchedulesPrintView(TemplateView): template_name = 'school/schedules_print.html' diff --git a/apps/user/templates/user/become-author.html b/apps/user/templates/user/become-author.html index 92e7c054..3dd6f190 100644 --- a/apps/user/templates/user/become-author.html +++ b/apps/user/templates/user/become-author.html @@ -44,9 +44,9 @@ {% endfor %}
-
FACEBOOK
+
Ссылка на портфолио
- +
{% for error in form.facebook.errors %}
{{ error }}
diff --git a/apps/user/templates/user/profile.html b/apps/user/templates/user/profile.html index c2acc385..16eec912 100644 --- a/apps/user/templates/user/profile.html +++ b/apps/user/templates/user/profile.html @@ -2,7 +2,9 @@
+ {% if not guest %} Редактировать + {% endif %}
{% thumbnail user.photo "120x120" crop="center" as im %} @@ -59,6 +61,8 @@
+ +{% if not guest %}
@@ -75,25 +79,33 @@
- {% if is_purchased %} - {% include "blocks/schedule_purchased.html" %} + {% if is_purchased_future %} +
+
+
Ваша подписка начинается {{school_purchased_future.date_start}}
+
+
{% else %} -
-
-
Вы не подписаны на школу!
-
- Купить подписку + {% if is_purchased %} + {% include "blocks/schedule_purchased.html" %} + {% else %} +
+
+
Вы не подписаны на школу!
+
-
+ {% endif %} {% endif %}
@@ -138,4 +150,5 @@
+{% endif %} {% endblock content %} diff --git a/apps/user/views.py b/apps/user/views.py index 5af22e43..4f9019e9 100644 --- a/apps/user/views.py +++ b/apps/user/views.py @@ -43,14 +43,22 @@ def resend_email_verify(request): return redirect('user-edit-profile', request.user.id) -@method_decorator(login_required, name='dispatch') class UserView(DetailView): model = User template_name = 'user/profile.html' def get_context_data(self, object): context = super().get_context_data() - context['simple_user'] = self.request.user.role == User.USER_ROLE + if not self.request.user.is_anonymous: + context['simple_user'] = self.request.user.role == User.USER_ROLE + context['guest'] = self.request.user.id != self.object.id and self.request.user.role <= User.USER_ROLE + else: + context['simple_user'] = True + context['guest'] = True + + if context['guest'] and self.object.role <= User.USER_ROLE: + raise Http404() + context['published'] = Course.objects.filter( author=self.object, ) @@ -85,12 +93,18 @@ class UserView(DetailView): context['subscription_ends'] = school_payment.last().date_end context['school_schedules'] = SchoolSchedule.objects.filter( weekday__in=school_schedules_purchased if school_payment.exists() else [], - ).annotate( - calk=F('weekday') - now().isoweekday(), - weight=(7 + F('calk') % 7) % 7, - ).order_by('weight') + ).all() context['all_school_schedules'] = SchoolSchedule.objects.all() + school_payment_future = SchoolPayment.objects.filter( + user=self.request.user, + date_start__gte=now(), + date_end__gte=now() + ) + + context['is_purchased_future'] = school_payment_future.exists() + context['school_purchased_future'] = school_payment_future.last() + return context @@ -103,6 +117,10 @@ class SubscribeView(View): return redirect(refferer) email = request.POST.get('email', None) if email: + if EmailSubscription.objects.filter(email=email).exists(): + messages.error(request, 'Вы уже подписаны!') + return redirect(refferer) + email_subscription = EmailSubscription.objects.create( email=email, ) @@ -110,7 +128,7 @@ class SubscribeView(View): SubscriptionCategory.objects.filter(auto_add=True) ) messages.info(request, 'Вы подписаны на новости.') - return redirect(refferer) + return redirect('subscribe-success') else: messages.error(request, 'Введите адрес электронной почты.') return redirect(refferer) diff --git a/project/templates/blocks/about.html b/project/templates/blocks/about.html index 8008c913..4caf08de 100644 --- a/project/templates/blocks/about.html +++ b/project/templates/blocks/about.html @@ -13,7 +13,7 @@
Прямой эфир
-
С понедельника по пятницу кроме выходных
+
Понедельник, среда, пятница
@@ -21,7 +21,7 @@
-
Ежедневно в 17:00
+
В 17:00
По московскому времени
@@ -30,8 +30,8 @@
-
7 предметов
-
на каждый день
+
12 уроков
+
В разных техниках
@@ -39,32 +39,26 @@
-
Посмотреть
-
пропущенные дни
+
Запись эфира
+
Хранится 7 дней
- {% if is_purchased %} ваша подписка истекает {{ subscription_ends_humanize }}
перейти к оплате
- {% else %} - купить доступ от {{ min_school_price }} руб./месяц - {% endif %} + {% if not is_purchased_future %} + {% if not user.is_authenticated %} + data-popup=".js-popup-auth" + {% else %} + data-popup=".js-popup-buy" + {% endif %} + {% endif %} + class="main__btn btn" + href="#" + > + {% if not is_purchased and not is_purchased_future %}купить доступ от {{ min_school_price }} руб./месяц{% endif %} + {% if is_purchased_future and not is_purchased %}ваша подписка начинается {{school_purchased_future.date_start}}{% endif %} + {% if is_purchased %}ваша подписка истекает {{ subscription_ends_humanize }}
перейти к оплате{% endif %} +
diff --git a/project/templates/blocks/advantages.html b/project/templates/blocks/advantages.html index 7538d3cd..b80f558d 100644 --- a/project/templates/blocks/advantages.html +++ b/project/templates/blocks/advantages.html @@ -10,7 +10,7 @@
Доступность
-
Учитесь, не выходя из дома
+
Учитесь, не выходя из дома. С жизнью в городах, времени для образования остается не много.
@@ -19,7 +19,7 @@
Стоимость
-
Онлайн-образование дешевле
+
Онлайн-образование дешевле и эффективнее. Вы сами выбираете сколько платить.
@@ -28,7 +28,7 @@
Свобода перемещений
-
Доступность до проф. уроков без пробок, сборов и лишней потери времени
+
С онлайн-образованием не нужно тратить свое время на что-то кроме образования.
@@ -36,8 +36,8 @@
-
Выбор преподавателя
-
Описание элемента
+
Выбор преподавателя
+
Личные аккаунты Инстаграм также доступны, чтобы узнать о творчестве, мыслях и интересах.
diff --git a/project/templates/blocks/arts.html b/project/templates/blocks/arts.html index e88b9408..397aa52c 100644 --- a/project/templates/blocks/arts.html +++ b/project/templates/blocks/arts.html @@ -1,37 +1,37 @@ {% load static %} -
-
-
-
-
-
Персонаж
-
-
-
-
-
Развитие креативного мышления
-
-
-
-
-
Акварельная живопись
-
-
-
-
-
Пластилиновая живопись
-
-
-
-
-
История искусств
-
-
-
-
-
Коллаж
-
-
-
-
-
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/project/templates/blocks/footer.html b/project/templates/blocks/footer.html index 9dc918e0..b586ffc9 100644 --- a/project/templates/blocks/footer.html +++ b/project/templates/blocks/footer.html @@ -4,7 +4,7 @@