예제 #1
0
class User(AbstractUser, BaseModel):
    create_user = models.ForeignKey(
        'self',
        verbose_name='创建人',
        related_name='%(app_label)s_%(class)s_create_user',
        on_delete=models.SET_NULL,
        null=True,
        blank=True,
        default=None)
    update_user = models.ForeignKey(
        'self',
        verbose_name='修改人',
        related_name='%(app_label)s_%(class)s_update_user',
        on_delete=models.SET_NULL,
        null=True,
        blank=True,
        default=None)
    objects = UserManager()

    class Meta:
        verbose_name = "用户模型"
        verbose_name_plural = verbose_name

    def save(self,
             force_insert=False,
             force_update=False,
             using=None,
             update_fields=None):
        if global_request != None and global_request.user.is_authenticated:
            if self._get_pk_val() is None and self._state.adding:
                self.create_user = global_request.user
            else:
                self.update_user = global_request.user
        return super().save(force_insert=force_insert,
                            force_update=force_update,
                            using=using,
                            update_fields=update_fields)
예제 #2
0
class User(AbstractBaseUser, PermissionsMixin):

	username = models.CharField(
		'Apelido / Usuário', max_length=30, unique=True, validators=[
			validators.RegexValidator(
				re.compile('^[\w.@+-]+$'),
				'Informe um nome de usuário válido. '
				'Este valor deve conter apenas letras, números '
				'e os caracteres: @/./+/-/_ .'
				, 'invalid'
			)
		], help_text='Um nome curto que será usado para identificá-lo de forma única na plataforma'
	)

	name = models.CharField('Nome', max_length=100, blank=True)
	email = models.EmailField('E-mail', unique=True)
	is_staff = models.BooleanField('Equipe', default=False) #boolean
	is_active = models.BooleanField('Ativo', default=True) #boolean
	date_joined = models.DateTimeField('Data de Entrada', auto_now_add=True)

	USERNAME_FIELD = 'username'
	REQUIRED_FIELDS = ['email'] #Campo requerido na criação de super Usuários

	objects = UserManager()

	class Meta:
		verbose_name = 'Usuário'
		verbose_name_plural = 'Usuários'

	def __str__(self):
		return self.name or self.username

	def get_full_name(self):
		return str(self)

	def get_short_name(self):
		return str(self).split(" ")[0]
예제 #3
0
class User(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField(
        ('email address'),
        unique=True,
        error_messages={
            'unique': ("A user with that email already exists."),
        })
    username = models.CharField(
        ('username'),
        max_length=100,
        unique=True,
        help_text=('Required. 30 characters or fewer. Letters, digits and '
                   '@/./+/-/_ only.'),
        validators=[
            validators.RegexValidator(
                r'^[\w.@+-]+$',
                ('Enter a valid username. '
                 'This value may contain only letters, numbers '
                 'and @/./+/-/_ characters.'), 'invalid'),
        ],
        error_messages={
            'unique': ("A user with that username already exists."),
        })
    role = models.CharField(max_length=10, blank=True)
    partner_name = models.CharField(max_length=100, blank=True, null = True)
    login_method = models.CharField(max_length = 255, blank = True, null = True)
    start_date = models.DateField(blank = True, null = True)
    facebook_id = models.CharField(max_length=200, unique=True, blank=True, null=True)

    objects = UserManager()

    USERNAME_FIELD = 'username'
    REQUIRED_FIELDS = ['email']
    class Meta:
        managed = True
        abstract = False
        db_table = 'auth_user'
예제 #4
0
class User(AbstractUser):
    first_name = models.CharField(max_length=255, null=False)
    last_name = models.CharField(max_length=255, null=False)
    mobile_number = models.CharField(max_length=12, blank=True)
    email = models.EmailField(unique=True, blank=True, null=True)
    username = models.CharField(unique=True,
                                max_length=255,
                                null=True,
                                blank=True)
    created_datetime = models.DateTimeField(auto_now_add=True)
    address = models.TextField(max_length=2500, blank=False, null=False)
    city = models.CharField(max_length=100, blank=True)
    state = models.CharField(max_length=100, blank=True)
    zipcode = models.IntegerField(blank=True)
    objects = UserManager()

    class Meta:
        db_table = "user"

    def __str__(self):
        return "{} - {} - {}- {} - {} - {} -{} - {} - {} - {} ".format(
            self.first_name, self.last_name, self.mobile_number, self.email,
            self.username, self.address, self.city, self.state, self.zipcode,
            self.created_datetime)
예제 #5
0
class User(AbstractBaseUser, PermissionsMixin):
    username = models.CharField(
        'Username', max_length=30, unique=True, validators=[
            validators.RegexValidator(re.compile('^[\w.@+-]+$'),
                                      "usuario pode contem somente letras, digitos ou @/./+/-/_", 'invalid')
        ]
    )
    email = models.EmailField('E-mail', unique=True)
    name = models.CharField('Full Name', max_length=100, blank=True)

    is_active = models.BooleanField('Está Ativo?', blank=True, default=True)
    is_staff = models.BooleanField('É da Equipe?', blank=True, default=False)
    date_joined = models.DateTimeField('Data de Cadastro', auto_now_add=True)

    profilePic = models.ImageField(
        upload_to='accounts/profiles', verbose_name='Profile picture',
        null=True, blank=True
    )

    objects = UserManager()

    USERNAME_FIELD = 'username'
    REQUIRED_FIELDS = ['email']

    def __str__(self):
        return self.name or self.username

    def get_short_name(self):
        return self.username

    def get_full_name(self):
        return str(self)

    class Meta:
        verbose_name = 'User'
        verbose_name_plural = 'Users'
예제 #6
0
class User(AbstractBaseUser, PermissionsMixin):
    username = models.CharField(
        'Apelido/Usuario',
        max_length=30,
        unique=True,
        validators=[
            validators.RegexValidator(
                re.compile('^[\w.@+-]+$'), 'Informe nome de usuário válido.'
                'Este valor deve conter apenas letra, números'
                'e os caracteres: @ . + - _'
                'invalid')
        ],
        help_text=
        'Um nome curso que será utilizado para identificar-lhe na plataforma.')
    name = models.CharField('Nome', max_length=100)
    email = models.EmailField('Email', unique=True)
    is_staff = models.BooleanField('Equipe', default=False)
    is_active = models.BooleanField('Ativo', default=True)
    date_joined = models.DateTimeField('Data de cadastro', auto_now_add=True)

    USERNAME_FIELD = 'username'
    REQUIRED_FIELDS = ['email']
    objects = UserManager()

    class Meta:
        verbose_name = 'Usuario'
        verbose_name_plural = 'Usuarios'

    def __str__(self):
        return self.username

    def get_full_name(self):
        return str(self)

    def get_short_name(self):
        return str(self).split(" ")[0]
예제 #7
0
class CustomUser(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField('メールアドレス',unique=True)
    first_name = models.CharField('姓', max_length=30)
    last_name = models.CharField('名', max_length=30)
    adress = models.CharField('住所',max_length=30,blank=True)
    tel = models.CharField('電話番号',max_length=30,blank=True)
    created = models.DateTimeField('入会日',default=timezone.now)
    is_staff = models.BooleanField(
        ('staff status'),
        default=False,
        help_text=('Designates whether the user can log into this admin site.'),
    )
    is_active = models.BooleanField(
        ('active'),
        default=True,
        help_text=(
            'Designates whether this user should be treated as active. '
            'Unselect this instead of deleting accounts.'
        ),
    )
    

    objects = UserManager()

    EMAIL_FIELD = 'email'
    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = []

    class Meta:
        verbose_name = ('user')
        verbose_name_plural = ('users')


    def clean(self):
        super().clean()
        self.email = self.__class__.objects.normalize_email(self.email)
예제 #8
0
파일: models.py 프로젝트: Diqxy1/TestStock
class User(AbstractBaseUser, PermissionsMixin):
    username_validator = UnicodeUsernameValidator()

    username = models.CharField(
        'Usuário',
        max_length=30,
        unique=True,
        help_text=
        'Obrigatorio. Nó máximo 30 caracteres. Letras, e os digitos @/./+/-/_ apenas.',
        validators=[username_validator],
        error_messages={'unique': "Esté usuário já está sendo utilizado."},
    )
    name = models.CharField('Nome completo', max_length=150)
    email = models.EmailField('E-mail')
    is_staff = models.BooleanField(
        'Equipe',
        default=False,
        help_text='Define se o usuário pode acessar o painel administrativo',
    )
    is_active = models.BooleanField(
        'Status',
        default=True,
        help_text=('Status do usuário'),
    )
    date_joined = models.DateTimeField('Data de criação', auto_now_add=True)
    updated_at = models.DateTimeField('Data de atualização', auto_now=True)

    objects = UserManager()

    EMAIL_FIELD = 'email'
    USERNAME_FIELD = 'username'
    REQUIRED_FIELDS = ['email', 'name']

    class Meta:
        verbose_name = 'usuário'
        verbose_name_plural = 'Usuários'
예제 #9
0
class User(AbstractBaseUser, PermissionsMixin):

    username = models.CharField(
        max_length=30, unique=True, validators=[
            validators.RegexValidator(
                re.compile('^[\w.@+-]+$'),
                'Please provide a valid username.'
                'This value must contain only letters, numbers '
                'and the characters: @/./+/-/_ .'
                , 'invalid'
            )
        ]
    )
    name = models.CharField(max_length=100, blank=True)
    email = models.EmailField(unique=True)
    is_staff = models.BooleanField(default=False)
    is_active = models.BooleanField(default=True)
    date_joined = models.DateTimeField(auto_now_add=True)

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = ['username', 'name']

    objects = UserManager()

    class Meta:
        verbose_name = 'Usuário'
        verbose_name_plural = 'Usuários'

    def __str__(self):
        return self.name or self.username

    def get_full_name(self):
        return str(self)

    def get_short_name(self):
        return str(self).split(" ")[0]
예제 #10
0
class User(AbstractBaseUser, PermissionsMixin):
    username = models.CharField(max_length=100, unique=True)
    email = models.EmailField(max_length=255, unique=True)
    is_active = models.BooleanField(default=True)
    is_admin = models.BooleanField(default=False)
    is_staff = models.BooleanField(default=False)
    date_joined = models.DateTimeField(('date joined'), auto_now_add=True)
    state = models.CharField(choices=STATES, max_length=64)
    county = models.CharField(choices=COUNTIES, max_length=64)
    primary_practice_area = models.CharField(choices=CASE_TYPE, max_length=64)
    score = models.CharField(max_length=64, default=0)
    website = models.CharField(max_length=100, default='')
    ppa_percent = models.CharField(max_length=4, default='0')
    secondary_practice_area = models.CharField(choices=CASE_TYPE,
                                               max_length=64,
                                               default='NA')
    spa_percent = models.CharField(max_length=4, default='0')
    legal_aid_org = models.ForeignKey(LegalAidOrg,
                                      on_delete=models.CASCADE,
                                      blank=True,
                                      null=True)

    # USERNAME_FIELD = 'email'
    USERNAME_FIELD = 'username'
    # REQUIRED_FIELDS = ['username',]
    REQUIRED_FIELDS = [
        'email',
    ]

    objects = UserManager()

    def get_short_name(self):
        return self.username

    def __unicode__(self):
        return self.email
예제 #11
0
class User(AbstractBaseUser, PermissionsMixin, CogneriumAbstractModel):
    remarks = models.TextField(null=True, blank=True)
    profilepic = models.ImageField(upload_to='images/',
                                   max_length=100,
                                   null=True)
    ismanager = models.BooleanField(default=False)
    first_name = models.CharField(max_length=15, default='')
    last_name = models.CharField(max_length=20, default='')
    email = models.EmailField(max_length=255, unique=True)
    username = models.CharField(max_length=100, blank=True, null=True)
    is_staff = models.BooleanField(
        ('staff status'),
        default=False,
        help_text=(
            'Designates whether the user can log into this admin site.'))
    is_admin = models.BooleanField(default=False)
    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = ['username', 'ismanager', 'is_active']
    password_reset_salt = models.IntegerField(blank=True, null=True)
    objects = UserManager()

    def get_full_name(self):
        if self.first_name or self.last_name:
            return f'{self.first_name} {self.last_name}'
        return self.username or self.email

    def get_short_name(self):
        """Return the email."""
        return self.email or self.username

    def save(self, *args, **kwargs):
        super(User, self).save(*args, **kwargs)
        Token.objects.get_or_create(user=self)

    def __str__(self):
        return self.get_full_name()
예제 #12
0
class AdminUser(AbstractBaseUser):
    """A custom user model. Not really necessary yet"""
    id = models.AutoField(primary_key=True)
    username = models.CharField(max_length=100, unique=True, db_index=True)
    email = models.EmailField(max_length=100)
    first_name = models.CharField(max_length=30, blank=True)
    last_name = models.CharField(max_length=30, blank=True)
    date_joined = models.DateTimeField(auto_now_add=True)
    is_active = models.BooleanField(default=True, blank=True)
    is_superuser = models.BooleanField(default=False, blank=True)
    is_staff = models.BooleanField(default=False, blank=True)

    USERNAME_FIELD = 'username'
    REQUIRED_FIELDS = ['email']

    objects = UserManager()

    class Meta:
        db_table = "user"

    #
    # These methods are required to work with Django's admin
    #
    def get_full_name(self):
        return self.first_name + " " + self.last_name

    def get_short_name(self):
        return self.first_name + " " + self.last_name

    # we don't need granular permissions; all staff will have access to
    # everything
    def has_perm(self, perm, obj=None):
        return True

    def has_module_perms(self, app_label):
        return True
예제 #13
0
class User(AbstractBaseModel, AbstractBaseUser, PermissionsMixin):
    email = models.EmailField(verbose_name=_('Email'),
                              unique=True,
                              db_index=True)
    username = models.CharField(_('Username'), max_length=150, unique=True)
    first_name = models.CharField(_('First Name'), max_length=255)
    last_name = models.CharField(_('Last Name'), max_length=255, blank=True)
    is_active = models.BooleanField(verbose_name=_('Active Status'),
                                    default=True)
    is_staff = models.BooleanField(verbose_name=_('Staff Status'),
                                   default=False)

    objects = UserManager()

    EMAIL_FIELD = 'email'
    USERNAME_FIELD = 'username'
    REQUIRED_FIELDS = ['email', 'first_name']

    class Meta:
        verbose_name = _('User')
        verbose_name_plural = _('Users')
        ordering = ('first_name', 'last_name')

    def __str__(self):
        return self.full_name

    @property
    def full_name(self):
        full_name = f'{self.first_name} {self.last_name}'
        return full_name.strip()

    def get_full_name(self):
        return self.full_name

    def get_short_name(self):
        return self.first_name
예제 #14
0
class AbstractUser(AbstractBaseUser, PermissionsMixin):
    """
    Абстрактный класс пользователя.
    """
    username_validator = UnicodeUsernameValidator()

    username = models.CharField(
        _('username'),
        max_length=150,
        unique=True,
        help_text=_('Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.'),
        validators=[username_validator],
        error_messages={
            'unique': _("A user with that username already exists."),
        },
    )
    email = models.EmailField(_('email address'), blank=True)
    first_name = models.CharField(_('first name'), max_length=30)
    last_name = models.CharField(_('last name'), max_length=30)
    is_staff = models.BooleanField(_('is_staff'), default=True)
    is_superuser = models.BooleanField(_('is_superuser'), default=True)

    objects = UserManager()

    EMAIL_FIELD = 'email'
    USERNAME_FIELD = 'username'
    REQUIRED_FIELDS = ['first_name', 'last_name']

    class Meta:
        abstract = True
        verbose_name = _('user')
        verbose_name_plural = _('users')

    def clean(self):
        super().clean()
        self.email = self.__class__.objects.normalize_email(self.email)
예제 #15
0
class User(AbstractUser):
    """ A user account that can login and access functionality.
    """
    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = []

    email = models.EmailField(unique=True)
    username = models.CharField(unique=False,
                                blank=True,
                                max_length=150,
                                null=True)
    password = models.CharField(max_length=199)
    first_name = models.CharField(max_length=150, blank=True, null=True)
    last_name = models.CharField(max_length=150, blank=True, null=True)
    phone_number = models.CharField(max_length=16, unique=True)
    properties = JSONField(blank=True, null=True)

    objects = UserManager()

    # def get_absolute_url(self):
    #     return reverse('users:user:user-profiles', kwargs={'username': self.username})

    class Meta:
        db_table = 'user'
예제 #16
0
파일: models.py 프로젝트: sfjt/pixelartdemo
class User(AbstractBaseUser, PermissionsMixin):

    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    name = models.CharField(max_length=50, default='')
    email = models.EmailField(_('email address'), unique=True)

    is_staff = models.BooleanField(
        _('staff status'),
        default=False,
        help_text=_(
            'Designates whether the user can log into this admin site.'),
    )
    is_active = models.BooleanField(
        _('active'),
        default=True,
        help_text=_(
            'Designates whether this user should be treated as active. '
            'Unselect this instead of deleting accounts.'),
    )
    date_joined = models.DateTimeField(_('date joined'), default=timezone.now)

    objects = UserManager()

    EMAIL_FIELD = 'email'
    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = []

    class Meta:
        verbose_name = _('user')
        verbose_name_plural = _('users')

    def security_email(self, subject, message, from_email=None, **kwargs):
        """
        Send a confirmation/security alert email to the user.
        """
        send_mail(subject, message, from_email, [self.email], **kwargs)
예제 #17
0
class User(AbstractBaseUser, PermissionsMixin):

    name = models.CharField('Nome completo', max_length=255)
    is_active = models.BooleanField('Está ativo?', default=True, blank=True)
    is_staff = models.BooleanField('É administador?',
                                   default=False,
                                   blank=True)
    date_joined = models.DateTimeField('Data da Entrada', auto_now_add=True)
    cpf = models.CharField('CPF', max_length=15, unique=True)
    img_perfil = models.ImageField(upload_to='contas/perfil',
                                   verbose_name='Imagem Perfil',
                                   default='contas/perfil/user.png')
    type_choices = (
        ('SU', 'Super User'),
        ('C', 'Common User'),
    )
    user_type = models.CharField('Tipo do usuário',
                                 max_length=2,
                                 choices=type_choices,
                                 default='C')
    objects = UserManager()
    USERNAME_FIELD = 'cpf'
    REQUIRED_FIELDS = []

    def __str__(self):
        return self.name or self.cpf

    def get_full_name(self):
        return str(self)

    def get_short_name(self):
        return str(self)

    class Meta():
        verbose_name = 'Usuário'
        verbose_name_plural = 'Usuários'
예제 #18
0
class Creator(AbstractBaseUser, PermissionsMixin):
    profile_image = models.ImageField(null=True,
                                      blank=True,
                                      verbose_name='Profile image')
    name = models.CharField(max_length=255, verbose_name='Name of User')
    bio = models.TextField(null=True, blank=True, verbose_name='Bio')
    website = models.CharField(max_length=255,
                               null=True,
                               blank=True,
                               verbose_name='Website')
    username = models.CharField(max_length=50, null=False, unique=True)
    # email = models.EmailField(max_length=255, null=False, verbose_name='Email', unique=True)
    # password = models.CharField(max_length=100, null=False, verbose_name='Password')

    USERNAME_FIELD = "username"

    objects = UserManager()

    @property
    def is_staff(self):
        return self.is_superuser

    def __str__(self):
        return self.username
예제 #19
0
class User(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField(unique=True)
    username = models.CharField(max_length=30, unique=True)
    first_name = models.CharField(max_length=30, blank=True)
    last_name = models.CharField(max_length=30, blank=True)
    date_joined = models.DateTimeField(auto_now_add=True)
    is_active = models.BooleanField(default=True)
    is_staff = models.BooleanField(default=False)

    objects = UserManager()

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = ['username']

    class Meta:
        verbose_name = 'user'
        verbose_name_plural = 'users'

    def get_full_name(self):
        '''
        Returns the first_name plus the last_name, with a space in between.
        '''
        full_name = '%s %s' % (self.first_name, self.last_name)
        return full_name.strip()

    def get_short_name(self):
        '''
        Returns the short name for the user.
        '''
        return self.first_name

    def email_user(self, subject, message, from_email=None, **kwargs):
        '''
        Sends an email to this User.
        '''
        send_mail(subject, message, from_email, [self.email], **kwargs)
예제 #20
0
class User(AbstractBaseUser,PermissionsMixin):
	username = models.CharField('Usuário', max_length=20, unique=True)
	email = models.EmailField('E-mail')

	is_active = models.BooleanField(
		'Está Ativo?',
		blank=True,
		default=True
	)
	is_staff = models.BooleanField(
		'Administrador', 
		blank=True, 
		default=True
	)
	date_joined = models.DateTimeField(
		'Data de Cadastro', 
		auto_now_add=True
	)
	
	objects = UserManager()

	USERNAME_FIELD = 'username'
	REQUIRED_FIELDS = ['email']

	def __str__(self):
		return self.username

	def get_short_name(self):
		return self.username

	def get_full_name(self):
		return str(self)

	class Meta:
		verbose_name = 'Usuário'
		verbose_name_plural = 'Usuários'
예제 #21
0
class User(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField('email address', unique=True, db_index=True)
    username = models.CharField('username', max_length=30, unique=True)
    date_joined = models.DateTimeField(auto_now_add=True)
    is_active = models.BooleanField(default=True)
    is_admin = models.BooleanField(default=False)
    is_staff = models.BooleanField(default=False)

    USERNAME_FIELD = 'username'
    REQUIRED_FIELDS = ['email']

    objects = UserManager()

    def get_full_name(self):
        return self.email

    def get_short_name(self):
        return self.email

    def __str__(self):
        return self.__unicode__()

    def __unicode__(self):
        return self.email
예제 #22
0
class AppUser(AbstractUser):
    """
    User model to which all other information about the user is linked 
    (e.g. the language they speak, the language they're learning, and 
    the submissions they make (submissions are stored in neo4j, see 
    api/submissions.py)
    """
    objects = UserManager()

    lang_learning = models.ForeignKey(
        Language,
        verbose_name='Learning Language',
        related_name='learning',
        null=True,
        help_text='Language the user is learning.')

    lang_speaking = models.ForeignKey(Language,
                                      verbose_name='Speaks Language',
                                      related_name='speaking',
                                      null=True,
                                      help_text='Language the user speaks.')

    def __unicode__(self):
        return unicode(self.username) or u''
예제 #23
0
class User(AbstractBaseUser, PermissionsMixin):

    username = models.CharField(
        'Nome de Usuário',
        max_length=30,
        unique=True,
        validators=[
            validators.RegexValidator(
                re.compile('^[\w.@+-]+$'),
                'O nome de usuário só pode conter letras, digitos ou os '
                'seguintes caracteres: @/./+/-/_', 'invalid')
        ])

    email = models.EmailField('E-mail', unique=True)
    name = models.CharField('Nome', max_length=100, blank=True)
    is_active = models.BooleanField('Está ativo?', blank=True, default=True)
    is_staff = models.BooleanField('É da equipe?', blank=True, default=False)
    date_joined = models.DateTimeField('Data de entrada', auto_now_add=True)

    objects = UserManager()

    USERNAME_FIELD = 'username'
    REQUIRED_FIELDS = ['email']

    def __str__(self):
        return self.name or self.username

    def get_short_name(self):
        return self.username

    def get_full_name(self):
        return str(self)

    class Meta:
        verbose_name = 'Usuário'
        verbose_name_plural = 'Usuários'
예제 #24
0
class CustomUser(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField('メールアドレス', unique=True)
    first_name = models.CharField(('姓'), max_length=30)
    last_name = models.CharField(('名'), max_length=30)
    description = models.TextField('自己紹介', default="", blank=True)
    image = models.ImageField(upload_to='images',
                              verbose_name='プロフィール画像',
                              null=True,
                              blank=True)

    is_staff = models.BooleanField(
        ('staff status'),
        default=False,
        help_text=(
            'Designates whether the user can log into this admin site.'),
    )
    is_active = models.BooleanField(
        ('active'),
        default=True,
        help_text=('Designates whether this user should be treated as active. '
                   'Unselect this instead of deleting accounts.'),
    )

    objects = UserManager()

    USERNAME_FIELD = 'email'  # オーバーライド
    EMAIL_FIELD = 'email'
    REQUIRED_FIELDS = []

    class Meta:
        verbose_name = ('user')
        verbose_name_plural = ('users')

    def clean(self):
        super().clean()
        self.email = self.__class__.objects.normalize_email(self.email)
예제 #25
0
class User(AbstractBaseUser, PermissionsMixin):

    email = models.EmailField(_('email address'), unique=True)

    is_staff = models.BooleanField(
        _('staff status'),
        default=False,
        help_text=_(
            'Designates whether the user can log into this admin site.'),
    )
    is_active = models.BooleanField(
        _('active'),
        default=True,
        help_text=_(
            'Designates whether this user should be treated as active. '
            'Unselect this instead of deleting accounts.'),
    )
    date_joined = models.DateTimeField(_('date joined'), default=timezone.now)

    objects = UserManager()

    EMAIL_FIELD = 'email'
    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = []

    class Meta:
        verbose_name = _('user')
        verbose_name_plural = _('users')

    def clean(self):
        super().clean()
        self.email = self.__class__.objects.normalize_email(self.email)

    def email_user(self, subject, message, from_email=None, **kwargs):
        """Send an email to this user."""
        send_mail(subject, message, from_email, [self.email], **kwargs)
예제 #26
0
class TestUser(AbstractGenericGroup, UserGenericPermsMixin, AbstractBaseUser):
    SELF = 1
    ASSISTANT = 1 << 2
    ROLES = (
        (SELF, 'User'),
        (ASSISTANT, 'Assistant'),
    )

    USERNAME_FIELD = 'username'
    REQUIRED_FIELDS = ('email', )
    username = models.CharField(max_length=30, unique=True)
    is_staff = models.BooleanField(default=False, )
    is_active = models.BooleanField(default=True)
    date_joined = models.DateTimeField(auto_now_add=True)

    email = models.CharField(max_length=50)

    objects = UserManager()

    def get_short_name(self):
        return self.username

    def get_full_name(self):
        return self.username
예제 #27
0
class User(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField(verbose_name=_('email address'),
                              unique=True,
                              blank=False)
    name = models.CharField(_('name'), max_length=30, blank=True)
    is_staff = models.BooleanField(
        _('staff status'),
        default=False,
        help_text=_(
            'Designates whether the user can log into this admin site.'),
    )
    is_active = models.BooleanField(
        _('active'),
        default=False,  # 기본값을 False 로 변경
        help_text=_(
            'Designates whether this user should be treated as active. '
            'Unselect this instead of deleting accounts.'),
    )
    date_joined = models.DateTimeField('가입일', default=timezone.now)

    objects = UserManager()

    USERNAME_FIELD = 'email'  # email을 사용자의 식별자로 설정
    REQUIRED_FIELDS = ['name']  # 필수입력값

    class Meta:
        verbose_name = _('user')
        verbose_name_plural = _('users')
        swappable = 'AUTH_USER_MODEL'

    def email_user(self,
                   subject,
                   message,
                   from_email=None,
                   **kwargs):  # 이메일 발송 메소드
        send_mail(subject, message, from_email, [self.email], **kwargs)
예제 #28
0
class CustomUser(AbstractUser):
    user_id = models.UUIDField(primary_key=True,
                               default=uuid.uuid4,
                               editable=False)
    username = models.CharField(max_length=40, unique=False, default="")
    email = models.EmailField(_("email address"), unique=True)
    is_staff = models.BooleanField(
        _("staff status"),
        default=False,
        help_text=_("Determines if user can access the admin site"),
    )

    is_active = models.BooleanField(_("is active"), default=True)
    date_joined = models.DateTimeField(_("date joined"), auto_now_add=True)
    password = models.CharField(max_length=100, editable=False, default="")
    profile = models.OneToOneField(Profile,
                                   unique=True,
                                   on_delete=models.DO_NOTHING,
                                   null=True)

    objects = UserManager()

    USERNAME_FIELD = "email"
    REQUIRED_FIELDS = ["password", "is_staff"]

    def __str__(self):
        return self.email

    # gives users with is_staff permissions
    def has_perm(self, perm, obj=None):
        return self.is_staff

    class Meta:
        verbose_name = _("user")
        verbose_name_plural = _("users")
        ordering = ["-last_name"]
예제 #29
0
class User(AbstractUser):

    SEX = (
        ('n', _('not defined')),
        ('f', _('female')),
        ('m', _('male')),
        ('o', _('other')),
    )

    # this boolean defines if the user has a registered legacy account
    is_registered = models.BooleanField(_('registered'), default=False)
    updated = models.DateTimeField(auto_now=True)

    sex = models.CharField(_('sex'), max_length=1, choices=SEX, default='n', blank=True, null=True)

    birth_date = models.DateTimeField(_('birth date'), blank=True, null=True)
    death_date = models.DateTimeField(_('death date'), blank=True, null=True)

    # TODO: does extending this to a more specific model make sense?
    # more info here: https://github.com/furious-luke/django-address
    # postal_address max_length only for form purposes
    postal_address = models.TextField(_('postal address'), max_length=500, blank=True, null=True)
    phone_number = PhoneNumberField(_('phone number'), blank=True, null=True)
    secondary_phone_number = PhoneNumberField(_('seconday phone'), blank=True, null=True)

    # other identifying info:
    ssn = models.CharField(max_length=50, blank=True, null=True)

    avatar = models.ImageField(_('avatar'), upload_to='avatars/', null=True, blank=True)

    eth_address = EthereumAddressField()

    objects = UserManager()

    def __str__(self):
        return "{}-{}".format(self.email, self.first_name)
예제 #30
0
파일: models.py 프로젝트: zammalhabe/meow
class User(AbstractUser):
    objects = UserManager()
    bio = models.CharField(max_length=512, null=True)
    role = models.CharField(max_length=2,
                            choices=ROLE_CHOICES,
                            default=CONTRIBUTOR)

    instagram = models.URLField(
        default="https://www.instagram.com/chubby.umi/")
    twitter = models.URLField(default="https://twitter.com/Cats")
    profile_img = models.URLField(default=None, null=True)
    # gets first theme (Daily Bruin) in database and sets as default theme
    selected_theme = models.ForeignKey('Theme',
                                       null=True,
                                       on_delete=models.SET_DEFAULT,
                                       default=1)
    starred_themes = models.ManyToManyField('Theme',
                                            related_name='related_users')

    def __str__(self):
        return self.username

    USERNAME_FIELD = 'username'
    REQUIRED_FIELDS = ['email']