From 18aba2b968827054b9ec853e3d33c935f52d2113 Mon Sep 17 00:00:00 2001 From: nikita Date: Tue, 30 Oct 2018 10:14:58 +0300 Subject: [PATCH 1/4] send_certificates off --- docker/.env.example | 2 +- docker/.env.review | 2 +- project/settings.py | 14 +++++++------- 3 files changed, 9 insertions(+), 9 deletions(-) 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), From 255c7f1e7dba156b45dacf2ea5509ad1018cbff6 Mon Sep 17 00:00:00 2001 From: gzbender Date: Fri, 2 Nov 2018 05:27:11 +0500 Subject: [PATCH 2/4] =?UTF-8?q?LIL-705=20=D0=9C=D0=B5=D0=BD=D1=8F=D1=82?= =?UTF-8?q?=D1=8C=20=D1=82=D0=B5=D0=BA=D1=81=D1=82=D0=B0=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20=D0=B3=D1=80=D0=B0=D0=BC=D0=BE=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/notification/tasks.py | 2 +- .../notification/email/certificate.html | 28 ------------------- 2 files changed, 1 insertion(+), 29 deletions(-) delete mode 100644 apps/notification/templates/notification/email/certificate.html diff --git a/apps/notification/tasks.py b/apps/notification/tasks.py index 28544d52..9bbf1ca8 100644 --- a/apps/notification/tasks.py +++ b/apps/notification/tasks.py @@ -54,7 +54,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 deleted file mode 100644 index 051a2d94..00000000 --- a/apps/notification/templates/notification/email/certificate.html +++ /dev/null @@ -1,28 +0,0 @@ -{% extends "notification/email/_base.html" %} - -{% block content %} -

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

-
-

Это письмо адресовано вашим детям - ученикам Lil School. - Если они еще не умеют читать, прочитайте им наше послание, громко и с выражением.
- Спасибо! -

-
-
- Привет, друг!
- Вот и прошёл месяц обучения на платформе «Lil School» - месяц удивительных, творческих приключений и открытий. - Ты так много узнал и столько всего нарисовал! - Как же здорово у тебя все получается! -
-
- Скорее смотри что прикреплено к письму. Да это же ГРАМОТА! Ее можно распечатать и повесить - на видное место в твоей комнате. - Можно показать ее друзьям вместе со всеми работами, над которыми ты так трудился. -
-
- Поздравляем! Мы ждём тебя в новом месяце в рядах наших учеников. -
-
- Команда «Lil School». -
-{% endblock content %} From 744e44acaf5a6d28a4f81b327a974001656141d7 Mon Sep 17 00:00:00 2001 From: gzbender Date: Fri, 2 Nov 2018 17:16:11 +0500 Subject: [PATCH 3/4] LIL-705 --- .../notification/email/certificate.html | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 apps/notification/templates/notification/email/certificate.html diff --git a/apps/notification/templates/notification/email/certificate.html b/apps/notification/templates/notification/email/certificate.html new file mode 100644 index 00000000..0185c4c3 --- /dev/null +++ b/apps/notification/templates/notification/email/certificate.html @@ -0,0 +1,71 @@ +{% extends "notification/email/_base.html" %} + +{% block content %} +

Привет!

+
+ {% 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». +

+
+{% endblock content %} From 01669c63c721223bf8e57df90b8a8080e98cde94 Mon Sep 17 00:00:00 2001 From: gzbender Date: Fri, 2 Nov 2018 16:15:20 +0300 Subject: [PATCH 4/4] LIL-705 --- apps/notification/tasks.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/notification/tasks.py b/apps/notification/tasks.py index 9bbf1ca8..5ec33920 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