Commit 6f94b2d2bc5364809cb87c98726a6023fc6022c2
1 parent
7e6fc093
Exists in
master
and in
39 other branches
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,7 +9,9 @@ from django.db import models | ||
9 | from django.conf import settings | 9 | from django.conf import settings |
10 | from django.utils import timezone | 10 | from django.utils import timezone |
11 | from django.core.cache import cache | 11 | from django.core.cache import cache |
12 | +from django.dispatch import receiver | ||
12 | from django.contrib.auth import get_user_model | 13 | from django.contrib.auth import get_user_model |
14 | +from django.db.models.signals import post_save | ||
13 | from django.core.urlresolvers import reverse, NoReverseMatch | 15 | from django.core.urlresolvers import reverse, NoReverseMatch |
14 | from django.utils.translation import ugettext_lazy as _ | 16 | from django.utils.translation import ugettext_lazy as _ |
15 | 17 | ||
@@ -390,3 +392,23 @@ class MessageMetadata(models.Model): | @@ -390,3 +392,23 @@ class MessageMetadata(models.Model): | ||
390 | return 'Email Message Id: %s - %s: %s' % (self.Message.id, | 392 | return 'Email Message Id: %s - %s: %s' % (self.Message.id, |
391 | self.name, self.value) | 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() |