Fix user creation receiver at official creation
This commit is contained in:
+18
-5
@@ -209,6 +209,9 @@ class Official(models.Model):
|
||||
|
||||
user = models.OneToOneField(User, on_delete=models.CASCADE)
|
||||
|
||||
first_name = models.CharField(_('First name'), max_length=30)
|
||||
last_name = models.CharField(_('Last name'), max_length=150)
|
||||
email = models.EmailField(_('Email address'))
|
||||
phone_number = PhoneNumberField(_('Phone number'))
|
||||
role_history = models.ManyToManyField('Occupation', blank=True)
|
||||
|
||||
@@ -216,19 +219,29 @@ class Official(models.Model):
|
||||
def current_roles(self):
|
||||
return self.role_history.all().filter(end_date__gte=timezone.now()).filter(start_date__lte=timezone.now())
|
||||
|
||||
@property
|
||||
def roles_of_year(self, year):
|
||||
return self.role_history.all().filter(end_date__gte=timezone.datetime(year, 1, 1)).filter(start_date__lte=timezone.datetime(year, 12, 31))
|
||||
|
||||
def __str__(self):
|
||||
return '{} {}'.format(self.user.first_name, self.user.last_name)
|
||||
return '{} {}'.format(self.first_name, self.last_name)
|
||||
|
||||
|
||||
@receiver(post_save, sender=User)
|
||||
@receiver(post_save, sender=Official)
|
||||
def create_user_profile(sender, instance, created, **kwargs):
|
||||
if created:
|
||||
Official.objects.create(user=instance)
|
||||
instance.user.first_name = instance.first_name
|
||||
instance.user.last_name = instance.last_name
|
||||
instance.user.email = instance.email
|
||||
instance.user.save()
|
||||
|
||||
|
||||
@receiver(post_save, sender=User)
|
||||
@receiver(post_save, sender=Official)
|
||||
def save_user_profile(sender, instance, **kwargs):
|
||||
instance.official.save()
|
||||
instance.user.first_name = instance.first_name
|
||||
instance.user.last_name = instance.last_name
|
||||
instance.user.email = instance.email
|
||||
instance.user.save()
|
||||
|
||||
|
||||
auditlog.register(Tag)
|
||||
|
||||
Reference in New Issue
Block a user