Merge branch 'master' of gitlab.com:lilcity/backend into feature/LIL-680

remotes/origin/feature/LIL-711
gzbender 7 years ago
commit 30b476746a
  1. 7
      apps/notification/tasks.py
  2. 83
      apps/notification/templates/notification/email/certificate.html
  3. 2
      docker/.env.example
  4. 2
      docker/.env.review
  5. 14
      project/settings.py

@ -43,7 +43,10 @@ def send_certificates(email=None, date=None, dry_run=False):
for user_id in users: for user_id in users:
if user_id in notified_users: if user_id in notified_users:
continue 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) print(un.user.email)
if dry_run: if dry_run:
continue 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') file = open(staticfiles_storage.path(path_pattern % un.certificate_number), 'rb')
try: try:
send_email('Грамота от Lil School', un.user.email, 'notification/email/certificate.html', 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: except:
print('Not OK') print('Not OK')
continue continue

@ -1,28 +1,71 @@
{% extends "notification/email/_base.html" %} {% extends "notification/email/_base.html" %}
{% block content %} {% block content %}
<p style="margin: 0 0 20px">Дорогие родители!</p> <p style="margin: 0 0 20px">Привет!</p>
<div style="margin-bottom: 10px;"> <div style="margin-bottom: 10px;">
<p>Это письмо адресовано вашим детям - ученикам Lil School. {% if not user_notification or user_notification.certificate_number == 1 %}
Если они еще не умеют читать, прочитайте им наше послание, громко и с выражением.<br> <p>
Спасибо! Поздравляем! Вы прошли месяц обучения в Lil School.<br>
К письму прикреплена грамота. Распечатайте её и вручите вашим детям.<br>
Ждём вас в следующем месяце на наших творческих занятиях!
</p> </p>
{% endif %}
{% if user_notification and user_notification.certificate_number == 2 %}
<p>
Вы помните, что каждый месяц вам приходит грамота за прекрасную учебу в нашей творческой школе?<br>
Скачивайте. Распечатывайте. И соберите свою коллекцию!
</p>
{% endif %}
{% if user_notification and user_notification.certificate_number == 3 %}
<p>
Вам понравился наш творческий месяц?<br>
В письме вы найдёте грамоту, она для вашей семьи.<br>
Как здорово, что у нас есть такие ученики!<br>
Ждём вас в следующем месяце.
</p>
{% endif %}
{% if user_notification and user_notification.certificate_number == 4 %}
<p>
Прошёл целый месяц обучения на платформе Lil School - месяц творчества, креатива и невероятных идей.<br>
Во вложении вас ждёт грамота.<br>
До встречи на занятиях!
</p>
{% endif %}
{% if user_notification and user_notification.certificate_number == 5 %}
<p>
Ваша грамота за успехи в учебе в Lil School ждёт вас во вложении.<br>
Скорее распечатайте её!<br>
Вам есть чем гордится!<br>
До встречи в следующем месяце!
</p>
{% endif %}
{% if user_notification and user_notification.certificate_number == 6 %}
<p>
Как здорово вы потрудились на занятиях в этом месяце!<br>
И наша грамота уже ждёт вас!<br>
Спасибо за творчество и креатив.<br>
Ждём вас в следующем месяце!
</p>
{% endif %}
{% if user_notification and user_notification.certificate_number == 7 %}
<p>
Какой классный месяц у нас был! Вместе мы очень здорово и креативно потрудились.<br>
Во вложении вас ждёт заслуженная грамота!<br>
До встречи на уроках!
</p>
{% endif %}
{% if user_notification and user_notification.certificate_number == 8 %}
<p>
Месяц творчества и креатива пролетел как один миг! А как много работ мы вместе сделали!<br>
Вы - большие молодцы.<br>
Во вложении ваш ждёт грамота!<br>
До встречи на занятиях.
</p>
{% endif %}
</div> </div>
<div style="margin-bottom: 10px; font-style: italic;"> <div style="margin-bottom: 10px;">
Привет, друг!<br> <p>
Вот и прошёл месяц обучения на платформе «Lil School» - месяц удивительных, творческих приключений и открытий. Команда «Lil School».
Ты так много узнал и столько всего нарисовал! </p>
Как же здорово у тебя все получается!
</div>
<div style="margin-bottom: 10px; font-style: italic;">
Скорее смотри что прикреплено к письму. Да это же ГРАМОТА! Ее можно распечатать и повесить
на видное место в твоей комнате.
Можно показать ее друзьям вместе со всеми работами, над которыми ты так трудился.
</div>
<div style="margin-bottom: 10px; font-style: italic;">
Поздравляем! Мы ждём тебя в новом месяце в рядах наших учеников.
</div>
<div style="margin-bottom: 10px; font-style: italic;">
Команда «Lil School».
</div> </div>
{% endblock content %} {% endblock content %}

@ -9,7 +9,7 @@ POSTGRES_PASSWORD=GPVs/E/{5&qe
DJANGO_SETTINGS_MODULE=project.settings DJANGO_SETTINGS_MODULE=project.settings
DATABASE_SERVICE_HOST=db DATABASE_SERVICE_HOST=db
SECRET_KEY=jelm*91lj(_-o20+6^a+bgv!4s6e_efry^#+f#=1ak&s1xr-2j 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 MAILGUN_SENDER_DOMAIN=mail.9ev.ru
DEFAULT_FROM_EMAIL=postmaster@mail.9ev.ru DEFAULT_FROM_EMAIL=postmaster@mail.9ev.ru
TWILIO_ACCOUNT=ACdf4a96b776cc764bc3ec0f0e136ba550 TWILIO_ACCOUNT=ACdf4a96b776cc764bc3ec0f0e136ba550

@ -9,7 +9,7 @@ POSTGRES_PASSWORD=GPVs/E/{5&qe
DJANGO_SETTINGS_MODULE=project.settings DJANGO_SETTINGS_MODULE=project.settings
DATABASE_SERVICE_HOST=db DATABASE_SERVICE_HOST=db
SECRET_KEY=jelm*91lj(_-o20+6^a+bgv!4s6e_efry^#+f#=1ak&s1xr-2j 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 MAILGUN_SENDER_DOMAIN=mail.9ev.ru
DEFAULT_FROM_EMAIL=postmaster@mail.9ev.ru DEFAULT_FROM_EMAIL=postmaster@mail.9ev.ru
TWILIO_ACCOUNT=ACdf4a96b776cc764bc3ec0f0e136ba550 TWILIO_ACCOUNT=ACdf4a96b776cc764bc3ec0f0e136ba550

@ -185,8 +185,8 @@ LOGIN_URL = '/'
# https://github.com/anymail/django-anymail # https://github.com/anymail/django-anymail
ANYMAIL = { ANYMAIL = {
'MAILGUN_API_KEY': os.getenv('MAILGUN_API_KEY', 'key-ec6af2d43d031d59bff6b1c8fb9390cb'), 'MAILGUN_API_KEY': os.getenv('MAILGUN_API_KEY', ''),
'MAILGUN_SENDER_DOMAIN': os.getenv('MAILGUN_SENDER_DOMAIN', 'mail.9ev.ru'), 'MAILGUN_SENDER_DOMAIN': os.getenv('MAILGUN_SENDER_DOMAIN', ''),
} }
EMAIL_BACKEND = 'anymail.backends.mailgun.EmailBackend' EMAIL_BACKEND = 'anymail.backends.mailgun.EmailBackend'
DEFAULT_FROM_EMAIL = os.getenv('DEFAULT_FROM_EMAIL', 'postmaster@mail.9ev.ru') DEFAULT_FROM_EMAIL = os.getenv('DEFAULT_FROM_EMAIL', 'postmaster@mail.9ev.ru')
@ -250,11 +250,11 @@ CELERY_BEAT_SCHEDULE = {
'schedule': timedelta(hours=1), 'schedule': timedelta(hours=1),
'args': (), 'args': (),
}, },
'send_certificates': { #'send_certificates': {
'task': 'apps.notification.tasks.send_certificates', # 'task': 'apps.notification.tasks.send_certificates',
'schedule': crontab(hour=19), # 'schedule': crontab(hour=19),
'args': (), # 'args': (),
}, #},
'sendgrid_update_recipients': { 'sendgrid_update_recipients': {
'task': 'apps.notification.tasks.sendgrid_update_recipients', 'task': 'apps.notification.tasks.sendgrid_update_recipients',
'schedule': crontab(minute=0, hour=3), 'schedule': crontab(minute=0, hour=3),

Loading…
Cancel
Save