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