Commit 6f94b2d2bc5364809cb87c98726a6023fc6022c2

Authored by Sergio Oliveira
1 parent 7e6fc093

Add signal to create emailaddress for user if it doesn't exist yet

Showing 1 changed file with 22 additions and 0 deletions   Show diff stats
src/super_archives/models.py
... ... @@ -9,7 +9,9 @@ from django.db import models
9 9 from django.conf import settings
10 10 from django.utils import timezone
11 11 from django.core.cache import cache
  12 +from django.dispatch import receiver
12 13 from django.contrib.auth import get_user_model
  14 +from django.db.models.signals import post_save
13 15 from django.core.urlresolvers import reverse, NoReverseMatch
14 16 from django.utils.translation import ugettext_lazy as _
15 17  
... ... @@ -390,3 +392,23 @@ class MessageMetadata(models.Model):
390 392 return 'Email Message Id: %s - %s: %s' % (self.Message.id,
391 393 self.name, self.value)
392 394  
  395 +
  396 +# For django 1.7 erase the 2 next lines
  397 +from django.contrib.auth import get_user_model
  398 +User = get_user_model()
  399 +
  400 +@receiver(post_save, sender=User)
  401 +def create_email_address(sender, instance, created, **kwargs):
  402 + if not created:
  403 + return
  404 +
  405 + email, email_created = EmailAddress.objects.get_or_create(
  406 + address=instance.email,
  407 + defaults= {
  408 + 'real_name': instance.get_full_name(),
  409 + 'user': instance,
  410 + }
  411 + )
  412 +
  413 + email.user = instance
  414 + email.save()
... ...