Skip to content
Snippets Groups Projects
models.py 860 B
Newer Older
  • Learn to ignore specific revisions
  • from django.db import models
    
    from django.contrib.auth.models import AbstractUser, BaseUserManager
    
    Dan Braghis's avatar
    Dan Braghis committed
    
    
    from .utils import send_activation_email
    
    
    class UserManager(BaseUserManager):
        def get_or_create(self, defaults, **kwargs):
            defaults.update(is_active=False)
            user, created = super().get_or_create(defaults=defaults, **kwargs)
            if created:
                send_activation_email(user)
            return user
    
    
    
    Dan Braghis's avatar
    Dan Braghis committed
    class User(AbstractUser):
    
        full_name = models.CharField(verbose_name='Full name', max_length=255, blank=True)
    
    
        objects = UserManager()
    
    
    Dan Braghis's avatar
    Dan Braghis committed
        class Meta:
            unique_together = ('email',)
    
    
        def get_full_name(self):
            """
            Returns the first_name plus the last_name, with a space in between.
            """
            if self.full_name:
                return self.full_name.strip()
    
            return super().get_full_name()