diff --git a/api/v1/serializers/config.py b/api/v1/serializers/config.py index 526d2066..9298a024 100644 --- a/api/v1/serializers/config.py +++ b/api/v1/serializers/config.py @@ -27,6 +27,9 @@ class ConfigSerializer(serializers.ModelSerializer): REFERRAL_BONUS = serializers.IntegerField() MAIN_PAGE_VIDEO_URL = serializers.CharField(required=False) MAIN_PAGE_VIDEO_PREVIEW_IMG = serializers.SerializerMethodField() + NUMBER_OF_STUDENTS = serializers.IntegerField() + NUMBER_OF_COUNTRIES = serializers.IntegerField() + NUMBER_OF_CITIES = serializers.IntegerField() class Meta: model = Config @@ -50,6 +53,9 @@ class ConfigSerializer(serializers.ModelSerializer): 'REFERRAL_BONUS', 'MAIN_PAGE_VIDEO_URL', 'MAIN_PAGE_VIDEO_PREVIEW_IMG', + 'NUMBER_OF_STUDENTS', + 'NUMBER_OF_COUNTRIES', + 'NUMBER_OF_CITIES', ) def get_SCHOOL_LOGO_IMAGE(self, config): diff --git a/api/v1/views.py b/api/v1/views.py index 2a9c1b0f..4bde8660 100644 --- a/api/v1/views.py +++ b/api/v1/views.py @@ -212,6 +212,15 @@ class LikeViewSet(ExtendedModelViewSet): headers = self.get_success_headers(serializer.data) return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers) + @action(methods=['get'], detail=False, url_path='course-liked') + def course_liked(self, request): + user_id = request.query_params.get('user_id') + course_id = request.query_params.get('course_id') + course = Course.objects.get(id=course_id) + return Response({ + 'is_liked': course.likes.filter(user_id=user_id).exists() + }) + class CategoryViewSet(BothListFormatMixin, ExtendedModelViewSet): queryset = Category.objects.order_by('-id') diff --git a/apps/config/migrations/0014_auto_20190605_1338.py b/apps/config/migrations/0014_auto_20190605_1338.py new file mode 100644 index 00000000..a89f0dc8 --- /dev/null +++ b/apps/config/migrations/0014_auto_20190605_1338.py @@ -0,0 +1,28 @@ +# Generated by Django 2.0.7 on 2019-06-05 13:38 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('config', '0013_config_main_page_video_preview_img'), + ] + + operations = [ + migrations.AddField( + model_name='config', + name='NUMBER_OF_CITIES', + field=models.IntegerField(default=107), + ), + migrations.AddField( + model_name='config', + name='NUMBER_OF_COUNTRIES', + field=models.IntegerField(default=81), + ), + migrations.AddField( + model_name='config', + name='NUMBER_OF_STUDENTS', + field=models.IntegerField(default=17000), + ), + ] diff --git a/apps/config/models.py b/apps/config/models.py index 18756e20..daf9bc0e 100644 --- a/apps/config/models.py +++ b/apps/config/models.py @@ -23,6 +23,9 @@ class Config(models.Model): REFERRAL_BONUS = models.IntegerField(default=10) MAIN_PAGE_VIDEO_URL = models.URLField(max_length=126, default='https://www.youtube.com/embed/1w3amQGtQyc') MAIN_PAGE_VIDEO_PREVIEW_IMG = models.ImageField(null=True, blank=True) + NUMBER_OF_STUDENTS = models.IntegerField(default=17000) + NUMBER_OF_COUNTRIES = models.IntegerField(default=81) + NUMBER_OF_CITIES = models.IntegerField(default=107) def save(self, *args, **kwargs): self.pk = 1 @@ -57,5 +60,8 @@ class Config(models.Model): 'REFERRAL_BONUS': '', 'MAIN_PAGE_VIDEO_URL': '', 'MAIN_PAGE_VIDEO_PREVIEW_IMG': '', + 'NUMBER_OF_STUDENTS': '', + 'NUMBER_OF_COUNTRIES': '', + 'NUMBER_OF_CITIES': '', } return obj diff --git a/apps/content/models.py b/apps/content/models.py index d4135f12..872d8044 100644 --- a/apps/content/models.py +++ b/apps/content/models.py @@ -99,7 +99,7 @@ class Video(Content): url = models.URLField('Ссылка') def video_index(self): - if 'youtu.be' in self.url or 'youtube.com' in self.url and 'watch' in self.url: + if self.is_youtube_video: url = urlparse(self.url) query = url.query.split('&') for q in query: @@ -107,6 +107,14 @@ class Video(Content): return q.split('=')[-1] return self.url.split('/')[-1] + @property + def is_youtube_video(self): + return 'youtu.be' in self.url or 'youtube.com' in self.url and 'watch' in self.url + + @property + def is_vimeo_video(self): + return 'vimeo.com' in self.url + class Gallery(Content): pass diff --git a/apps/content/templates/content/blocks/video.html b/apps/content/templates/content/blocks/video.html index 8c707388..da44d655 100644 --- a/apps/content/templates/content/blocks/video.html +++ b/apps/content/templates/content/blocks/video.html @@ -4,12 +4,14 @@ {{ content.title }}
Курс ждет вас по ссылке + https://{% setting 'MAIN_HOST' %}{{ url }}
+ {% endif %} + {% if product_type == 'school' %} +Школа ждет вас по ссылке + https://{% setting 'MAIN_HOST' %}{% url 'school:school' %}
+ {% endif %} + {% if product_type == 'drawing_camp' %} +Рисовальный лагерь ждет вас по ссылке + https://{% setting 'MAIN_HOST' %}{% url 'school:drawing-camp' %}
+ {% endif %} +Так же вы можете найти ссылку в личном кабинете в разделе «Мои покупки».
+ +Занимайтесь с удовольствием!
+ +Команда «Lil School».
+{% endblock content %} diff --git a/apps/notification/templates/notification/email/camp_certificate.html b/apps/notification/templates/notification/email/camp_certificate.html index f4152c79..8a4c830a 100644 --- a/apps/notification/templates/notification/email/camp_certificate.html +++ b/apps/notification/templates/notification/email/camp_certificate.html @@ -6,20 +6,21 @@ {% if certificate_number == 1 %}
Поздравляем! Вы прошли месяц обучения в лагере Lil School.
-К письму прикреплена грамота. Распечатайте её и вручите вашим детям.
+К письму {% if many_childs %}прикреплены грамоты. Распечатайте их{% else %}прикреплена грамота. Распечатайте её{% endif %} и вручите вашим детям.
Ждём вас в следующем месяце на наших творческих занятиях!
-Вы помните, что каждый месяц вам приходит грамота за прекрасную учебу в рисовальном лагере?
+Вы помните, что каждый месяц вам {% if many_childs %}приходят грамоты{% else %}приходит грамота{% endif %} за прекрасную учебу в рисовальном лагере?
Скачивайте. Распечатывайте. И соберите свою коллекцию!
-Вот и закончился лагерь, пора переходить к основным урокам.
-Спасибо, что были с нами, успехов вам в дальнейшем обучении!
+Поздравляем с успешным окончаниемм рисовального лагеря!
+В письме вы найдёте {% if many_childs %}грамоты, они{% else %}грамоту, она{% endif %} для вашей семьи.
+До встречи в онлайн школе!
Поздравляем! Вы прошли месяц обучения в Lil School.
-К письму прикреплена грамота. Распечатайте её и вручите вашим детям.
+К письму {% if many_childs %}прикреплены грамоты. Распечатайте их{% else %}прикреплена грамота. Распечатайте её{% endif %} и вручите вашим детям.
Ждём вас в следующем месяце на наших творческих занятиях!
- Вы помните, что каждый месяц вам приходит грамота за прекрасную учебу в нашей творческой школе?
+ Вы помните, что каждый месяц вам {% if many_childs %}приходят грамоты{% else %}приходит грамота{% endif %} за прекрасную учебу в нашей творческой школе?
Скачивайте. Распечатывайте. И соберите свою коллекцию!
Вам понравился наш творческий месяц?
-В письме вы найдёте грамоту, она для вашей семьи.
+В письме вы найдёте {% if many_childs %}грамоты, они{% else %}грамоту, она{% endif %} для вашей семьи.
Как здорово, что у нас есть такие ученики!
Ждём вас в следующем месяце.
Прошёл целый месяц обучения на платформе Lil School - месяц творчества, креатива и невероятных идей.
-Во вложении вас ждёт грамота.
+Во вложении вас {% if many_childs %}ждут грамоты{% else %}ждёт грамота{% endif %}.
До встречи на занятиях!
+ {% if many_childs %}
+ Ваши грамоты за успехи в учебе в Lil School ждут вас во вложении.
+ Скорее распечатайте их!
+ {% else %}
Ваша грамота за успехи в учебе в Lil School ждёт вас во вложении.
-Скорее распечатайте её!
-Вам есть чем гордится!
-До встречи в следующем месяце!
+ Скорее распечатайте её!
+ {% endif %}
+ Вам есть чем гордится!
+ До встречи в следующем месяце!
Как здорово вы потрудились на занятиях в этом месяце!
-И наша грамота уже ждёт вас!
+И {% if many_childs %}наши грамоты уже ждут{% else %}наша грамота уже ждёт{% endif %} вас!
Спасибо за творчество и креатив.
Ждём вас в следующем месяце!
Какой классный месяц у нас был! Вместе мы очень здорово и креативно потрудились.
-Во вложении вас ждёт заслуженная грамота!
+Во вложении вас {% if many_childs %}ждут заслуженные грамоты{% else %}ждёт заслуженная грамота{% endif %}!
До встречи на уроках!
Месяц творчества и креатива пролетел как один миг! А как много работ мы вместе сделали!
Вы - большие молодцы.
-Во вложении ваш ждёт грамота!
+Во вложении вас {% if many_childs %}ждут грамоты{% else %}ждёт грамота{% endif %}!
До встречи на занятиях.
{% endif %}