diff --git a/apps/notification/tasks.py b/apps/notification/tasks.py index e6629552..d1979baf 100644 --- a/apps/notification/tasks.py +++ b/apps/notification/tasks.py @@ -43,7 +43,10 @@ def send_certificates(email=None, date=None, dry_run=False): for user_id in users: if user_id in notified_users: continue - un = user_notifications.get(user_id, UserNotification(user_id=user_id)) + if not user_id in user_notifications: + un = UserNotification.objects.create(user_id=user_id) + else: + un = user_notifications.get(user_id) print(un.user.email) if dry_run: continue @@ -54,7 +57,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..84cae46b 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') @@ -250,11 +250,11 @@ CELERY_BEAT_SCHEDULE = { 'schedule': timedelta(hours=1), 'args': (), }, - 'send_certificates': { - 'task': 'apps.notification.tasks.send_certificates', - 'schedule': crontab(hour=19), - 'args': (), - }, + #'send_certificates': { + # 'task': 'apps.notification.tasks.send_certificates', + # 'schedule': crontab(hour=19), + # 'args': (), + #}, 'sendgrid_update_recipients': { 'task': 'apps.notification.tasks.sendgrid_update_recipients', 'schedule': crontab(minute=0, hour=3),