diff --git a/src/fellchensammlung/mail.py b/src/fellchensammlung/mail.py index 071f396..a4e6402 100644 --- a/src/fellchensammlung/mail.py +++ b/src/fellchensammlung/mail.py @@ -1,4 +1,8 @@ +from venv import create + import django.conf.global_settings +from django.db.models.signals import post_save +from django.dispatch import receiver from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext @@ -10,6 +14,7 @@ from notfellchen.settings import host NEWLINE = "\r\n" + def mail_admins_new_report(report): subject = _("Neue Meldung") for moderator in User.objects.filter(trust_level__gt=User.TRUST_LEVEL[User.MODERATOR]): @@ -31,3 +36,21 @@ def mail_admins_new_report(report): message = mail.EmailMessage(subject, body_text, settings.DEFAULT_FROM_EMAIL, [moderator.email]) print("Sending email to ", moderator.email) message.send() + + +@receiver(post_save, sender=User) +def mail_admins_new_member(sender, instance: User, created: bool, **kwargs): + if not created: + return + subject = _("Neuer User") + f": {instance.username}" + for moderator in User.objects.filter(trust_level__gt=User.TRUST_LEVEL[User.MODERATOR]): + greeting = _("Moin,") + "{NEWLINE}" + new_report_text = _("es hat sich eine neue Person registriert.") + "{NEWLINE}" + user_detail_text = _("Username") + f": {instance.username}{NEWLINE}" + _( + "E-Mail") + f": {instance.email}{NEWLINE}" + user_url = "https://" + host + instance.get_absolute_url() + link_text = f"Um alle Details zu sehen, geh bitte auf: {user_url}" + body_text = greeting + new_report_text + user_detail_text + link_text + message = mail.EmailMessage(subject, body_text, settings.DEFAULT_FROM_EMAIL, [moderator.email]) + print("Sending email to ", moderator.email) + message.send()