Coverage for src/accounts/signals.py: 100%
18 statements
« prev ^ index » next coverage.py v7.9.2, created at 2025-08-04 12:59 +0300
« prev ^ index » next coverage.py v7.9.2, created at 2025-08-04 12:59 +0300
1from django.dispatch import receiver
2from django.db.models.signals import post_save
3from django.contrib.auth import get_user_model
4from django.template.loader import render_to_string
5from django.utils.html import strip_tags
6from src import settings
8from src.common.tasks import _send_email
9from src.accounts.models.user_photo import UserPhoto
10from src.accounts.models.user_profile import UserProfile
13UserModel = get_user_model()
16@receiver(post_save, sender=UserModel)
17def create_related_user_models(sender, instance, created, **kwargs):
18 if created:
19 UserProfile.objects.get_or_create(user=instance)
20 UserPhoto.objects.get_or_create(user=instance)
22 html_message = render_to_string(
23 'mailer/registration-greeting.html', {'user': instance}
24 )
25 plain_message = strip_tags(html_message)
27 _send_email.delay(
28 subject='Welcome to DRF React Gems!',
29 message=plain_message,
30 html_message=html_message,
31 from_email=settings.EMAIL_HOST_USER,
32 recipient_list=(instance.email,),
33 )