|
|
|
@ -4,7 +4,7 @@
|
|
|
|
|
import uuid
|
|
|
|
|
|
|
|
|
|
from django.conf import settings
|
|
|
|
|
from django.contrib.auth.models import AbstractUser
|
|
|
|
|
from django.contrib.auth.models import AbstractUser, UserManager as _UserManager
|
|
|
|
|
from django.db import models
|
|
|
|
|
from django.shortcuts import reverse
|
|
|
|
|
from django.utils import timezone
|
|
|
|
@ -32,6 +32,15 @@ __all__ = [
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class UserManager(_UserManager):
|
|
|
|
|
def get_by_natural_key(self, username_or_mail):
|
|
|
|
|
q = models.Q(username=username_or_mail) | models.Q(email=username_or_mail)
|
|
|
|
|
user = self.filter(q).first()
|
|
|
|
|
if not user:
|
|
|
|
|
raise self.model.DoesNotExist
|
|
|
|
|
return user
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class User(
|
|
|
|
|
AuthMixin,
|
|
|
|
|
SourceMixin,
|
|
|
|
@ -127,6 +136,7 @@ class User(
|
|
|
|
|
null=True, blank=True, verbose_name=_("Date api key used")
|
|
|
|
|
)
|
|
|
|
|
date_updated = models.DateTimeField(auto_now=True, verbose_name=_("Date updated"))
|
|
|
|
|
objects = UserManager()
|
|
|
|
|
DATE_EXPIRED_WARNING_DAYS = 5
|
|
|
|
|
|
|
|
|
|
def __str__(self):
|
|
|
|
|