feat: Add mail to admins when new user registers
This commit is contained in:
		@@ -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()
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user