diff --git a/api/v1/serializers/content.py b/api/v1/serializers/content.py index 89daefa1..5b6d2c1d 100644 --- a/api/v1/serializers/content.py +++ b/api/v1/serializers/content.py @@ -1,5 +1,6 @@ from urllib.parse import urlparse, urlunparse from rest_framework import serializers +from django.conf import settings from apps.content.models import ( Baner, Content, Image, Text, ImageText, Video, @@ -46,12 +47,8 @@ class BanerSerializer(serializers.ModelSerializer): ) def get_image(self, baner): - request = self.context.get('request') - http_host = request.META.get('HTTP_ORIGIN') - if http_host and baner.image: - domain = urlparse(http_host).netloc.split(':')[0] - baner_url = 'http://' + domain + baner.image.url - return baner_url + if baner.image: + return 'http://' + settings.MAIN_HOST + '/' + baner.image.url else: return None diff --git a/apps/notification/tasks.py b/apps/notification/tasks.py index 28544d52..13f91f3c 100644 --- a/apps/notification/tasks.py +++ b/apps/notification/tasks.py @@ -33,7 +33,7 @@ def send_certificates(email=None, date=None, dry_run=False): file.close() return - date = datetime.strptime(date, '%d-%m-%Y') if date else now().date() + date = datetime.strptime(date, '%d-%m-%Y').date() if date else now().date() today = now().date() users = set(list(SchoolPayment.objects.filter(date_end=date, add_days=False).values_list('user_id', flat=True))) user_notifications_qs = UserNotification.objects.filter(user_id__in=users) @@ -42,6 +42,7 @@ def send_certificates(email=None, date=None, dry_run=False): 'user_id', flat=True).distinct() for user_id in users: if user_id in notified_users: + print('skip', user_id) continue un = user_notifications.get(user_id, UserNotification(user_id=user_id)) print(un.user.email) @@ -54,7 +55,7 @@ def send_certificates(email=None, date=None, dry_run=False): file = open(staticfiles_storage.path(path_pattern % un.certificate_number), 'rb') try: send_email('Грамота от Lil School', un.user.email, 'notification/email/certificate.html', - attachments=[(file.name, file.read(), 'image/jpeg')]) + attachments=[(file.name, file.read(), 'image/jpeg')], user_notification=un) except: print('Not OK') continue diff --git a/apps/notification/templates/notification/email/certificate.html b/apps/notification/templates/notification/email/certificate.html index 051a2d94..0185c4c3 100644 --- a/apps/notification/templates/notification/email/certificate.html +++ b/apps/notification/templates/notification/email/certificate.html @@ -1,28 +1,71 @@ {% extends "notification/email/_base.html" %} {% block content %} -

Дорогие родители!

+

Привет!

-

Это письмо адресовано вашим детям - ученикам Lil School. - Если они еще не умеют читать, прочитайте им наше послание, громко и с выражением.
- Спасибо! + {% if not user_notification or user_notification.certificate_number == 1 %} +

+ Поздравляем! Вы прошли месяц обучения в Lil School.
+К письму прикреплена грамота. Распечатайте её и вручите вашим детям.
+Ждём вас в следующем месяце на наших творческих занятиях!

+ {% endif %} + {% if user_notification and user_notification.certificate_number == 2 %} +

+ Вы помните, что каждый месяц вам приходит грамота за прекрасную учебу в нашей творческой школе?
+ Скачивайте. Распечатывайте. И соберите свою коллекцию! +

+ {% endif %} + {% if user_notification and user_notification.certificate_number == 3 %} +

+Вам понравился наш творческий месяц?
+В письме вы найдёте грамоту, она для вашей семьи.
+Как здорово, что у нас есть такие ученики!
+Ждём вас в следующем месяце. +

+ {% endif %} + {% if user_notification and user_notification.certificate_number == 4 %} +

+ Прошёл целый месяц обучения на платформе Lil School - месяц творчества, креатива и невероятных идей.
+Во вложении вас ждёт грамота.
+До встречи на занятиях! +

+ {% endif %} + {% if user_notification and user_notification.certificate_number == 5 %} +

+ Ваша грамота за успехи в учебе в Lil School ждёт вас во вложении.
+Скорее распечатайте её!
+Вам есть чем гордится!
+До встречи в следующем месяце! +

+ {% endif %} + {% if user_notification and user_notification.certificate_number == 6 %} +

+ Как здорово вы потрудились на занятиях в этом месяце!
+И наша грамота уже ждёт вас!
+Спасибо за творчество и креатив.
+Ждём вас в следующем месяце! +

+ {% endif %} + {% if user_notification and user_notification.certificate_number == 7 %} +

+ Какой классный месяц у нас был! Вместе мы очень здорово и креативно потрудились.
+Во вложении вас ждёт заслуженная грамота!
+До встречи на уроках! +

+ {% endif %} + {% if user_notification and user_notification.certificate_number == 8 %} +

+ Месяц творчества и креатива пролетел как один миг! А как много работ мы вместе сделали!
+Вы - большие молодцы.
+Во вложении ваш ждёт грамота!
+До встречи на занятиях. +

+ {% endif %}
-
- Привет, друг!
- Вот и прошёл месяц обучения на платформе «Lil School» - месяц удивительных, творческих приключений и открытий. - Ты так много узнал и столько всего нарисовал! - Как же здорово у тебя все получается! -
-
- Скорее смотри что прикреплено к письму. Да это же ГРАМОТА! Ее можно распечатать и повесить - на видное место в твоей комнате. - Можно показать ее друзьям вместе со всеми работами, над которыми ты так трудился. -
-
- Поздравляем! Мы ждём тебя в новом месяце в рядах наших учеников. -
-
- Команда «Lil School». +
+

+ Команда «Lil School». +

{% endblock content %} diff --git a/docker/.env.example b/docker/.env.example index 94fdccb7..f637abb9 100644 --- a/docker/.env.example +++ b/docker/.env.example @@ -9,7 +9,7 @@ POSTGRES_PASSWORD=GPVs/E/{5&qe DJANGO_SETTINGS_MODULE=project.settings DATABASE_SERVICE_HOST=db SECRET_KEY=jelm*91lj(_-o20+6^a+bgv!4s6e_efry^#+f#=1ak&s1xr-2j -MAILGUN_API_KEY=key-ec6af2d43d031d59bff6b1c8fb9390cb +MAILGUN_API_KEY=key-ec6af2d43d031d59bff6b1c8fb9390c MAILGUN_SENDER_DOMAIN=mail.9ev.ru DEFAULT_FROM_EMAIL=postmaster@mail.9ev.ru TWILIO_ACCOUNT=ACdf4a96b776cc764bc3ec0f0e136ba550 diff --git a/docker/.env.review b/docker/.env.review index 351dc795..dc0ff7ab 100644 --- a/docker/.env.review +++ b/docker/.env.review @@ -9,7 +9,7 @@ POSTGRES_PASSWORD=GPVs/E/{5&qe DJANGO_SETTINGS_MODULE=project.settings DATABASE_SERVICE_HOST=db SECRET_KEY=jelm*91lj(_-o20+6^a+bgv!4s6e_efry^#+f#=1ak&s1xr-2j -MAILGUN_API_KEY=key-ec6af2d43d031d59bff6b1c8fb9390cb +MAILGUN_API_KEY=key-ec6af2d43d031d59bff6b1c8fb9390c MAILGUN_SENDER_DOMAIN=mail.9ev.ru DEFAULT_FROM_EMAIL=postmaster@mail.9ev.ru TWILIO_ACCOUNT=ACdf4a96b776cc764bc3ec0f0e136ba550 diff --git a/project/settings.py b/project/settings.py index e92ac41b..3bd90b7d 100644 --- a/project/settings.py +++ b/project/settings.py @@ -185,8 +185,8 @@ LOGIN_URL = '/' # https://github.com/anymail/django-anymail ANYMAIL = { - 'MAILGUN_API_KEY': os.getenv('MAILGUN_API_KEY', 'key-ec6af2d43d031d59bff6b1c8fb9390cb'), - 'MAILGUN_SENDER_DOMAIN': os.getenv('MAILGUN_SENDER_DOMAIN', 'mail.9ev.ru'), + 'MAILGUN_API_KEY': os.getenv('MAILGUN_API_KEY', ''), + 'MAILGUN_SENDER_DOMAIN': os.getenv('MAILGUN_SENDER_DOMAIN', ''), } EMAIL_BACKEND = 'anymail.backends.mailgun.EmailBackend' DEFAULT_FROM_EMAIL = os.getenv('DEFAULT_FROM_EMAIL', 'postmaster@mail.9ev.ru')