update format of the mail

This commit is contained in:
2021-12-06 14:17:13 +00:00
parent 38d7fb2e1f
commit 61622b8eae
3 changed files with 34 additions and 14 deletions

View File

@@ -1,14 +1,17 @@
# HOW TO ADD CRONJOBS
# write a cronjob function
# add cronjob to fet2020/settings.py
# add cronjob with cmd 'fet2020/manage.py crontab add'
# add cronjob with cmd 'python3 fet2020/manage.py crontab add'
import logging
from datetime import timedelta
from django.utils import timezone
from .models import FetMeeting
from .mails import send_agenda_mail
from datetime import timedelta
logger = logging.getLogger(__name__)
def check_to_send_agenda_mail():
@@ -16,8 +19,5 @@ def check_to_send_agenda_mail():
next_meeting = FetMeeting.objects.filter(event_start__date=agenda_date).first()
if next_meeting and next_meeting.has_agenda:
send_agenda_mail(
self.event_start.date().strftime("%d.%m.%Y"),
self.event_start.time(),
self.slug,
)
logger.info(f"Agenda für die {next_meeting.slug} soll gesendet werden.")
send_agenda_mail(next_meeting)

View File

@@ -1,24 +1,43 @@
import logging
from html2text import html2text
from django.conf import settings
from django.core.mail import send_mail
def send_agenda_mail(date, time, slug):
logger = logging.getLogger(__name__)
def send_agenda_mail(meeting):
date = meeting.event_start.date().strftime("%d.%m.%Y")
time = meeting.event_start.time()
agenda = html2text(meeting.agenda_html)
msg = (
"Liebe Alle,\n\n"
"wir haben am " + str(date) + " um " + str(time) + " wieder Sitzung.\n"
"du hast noch bis morgen Zeit, weitere Themen auf die Agenda zu schreiben: "
"wir haben am " + str(date) + " um " + str(time) + " wieder eine FET-Sitzung.\n"
"du hast noch bis morgen "
+ str(time)
+ " Zeit, weitere Themen auf die Agenda zu schreiben: "
+ settings.HOST_NAME
+ "/posts/"
+ str(slug)
+ str(meeting.slug)
+ ".\n\n"
"Die aktuelle Agenda ist: \n\n" + agenda + "\n\n"
"LG deine FET"
)
send_mail(
transmitted = send_mail(
subject="Test - Agenda der FET Sitzung von " + str(date),
message=msg,
from_email="patrick@fet.at",
from_email="service@fet.at",
recipient_list=[
"all@fet.at",
"patrick@fet.at",
],
)
if transmitted:
logger.info(f"Mail für die Agenda {meeting.slug} wurde gesendet.")
else:
logger.info(f"Mail für die Agenda {meeting.slug} wurde nicht gesendet.")

View File

@@ -12,6 +12,7 @@ docutils==0.17.1
easy-thumbnails==2.8.0
etherpad-lite==0.5
ghostscript==0.7
html2text==2020.1.16
ldap3==2.9.1
mysqlclient==2.1.0
xhtml2pdf==0.2.5