first commit
This commit is contained in:
5
core/apps/accounts/models/__init__.py
Normal file
5
core/apps/accounts/models/__init__.py
Normal file
@@ -0,0 +1,5 @@
|
||||
# isort: skip_file
|
||||
from .user import * # noqa
|
||||
from .reset_token import * # noqa
|
||||
from .likes import * # noqa
|
||||
from .participant import * # noqa
|
||||
27
core/apps/accounts/models/likes.py
Normal file
27
core/apps/accounts/models/likes.py
Normal file
@@ -0,0 +1,27 @@
|
||||
from django.db import models
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from django_core.models import AbstractBaseModel
|
||||
from .user import User
|
||||
from core.apps.tickets.models.tickets import TicketsModel
|
||||
|
||||
|
||||
class LikesModel(AbstractBaseModel):
|
||||
user = models.ForeignKey(User, verbose_name=_('user'), on_delete=models.CASCADE)
|
||||
ticket = models.ForeignKey(TicketsModel, verbose_name=_('ticket'), on_delete=models.CASCADE)
|
||||
created_at = models.DateTimeField(verbose_name=_("created at"), auto_now_add=True)
|
||||
|
||||
def __str__(self):
|
||||
return str(self.pk)
|
||||
|
||||
@classmethod
|
||||
def _create_fake(self):
|
||||
return self.objects.create(
|
||||
user=User._create_fake(),
|
||||
ticket=TicketsModel._create_fake(),
|
||||
)
|
||||
|
||||
class Meta:
|
||||
unique_together = ('user', 'ticket')
|
||||
db_table = "likes"
|
||||
verbose_name = _("LikesModel")
|
||||
verbose_name_plural = _("LikesModels")
|
||||
53
core/apps/accounts/models/participant.py
Normal file
53
core/apps/accounts/models/participant.py
Normal file
@@ -0,0 +1,53 @@
|
||||
from django.db import models
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from django_core.models import AbstractBaseModel
|
||||
|
||||
|
||||
class ParticipantModel(AbstractBaseModel):
|
||||
GenderChoices = (
|
||||
('Male', 'Male'),
|
||||
('Female', 'Female'),
|
||||
)
|
||||
gender = models.CharField(verbose_name=_("gender"), max_length=255, choices=GenderChoices, default='Male')
|
||||
first_name = models.CharField(verbose_name=_("first name"), max_length=255)
|
||||
last_name = models.CharField(verbose_name=_("last name"), max_length=255)
|
||||
birth_date = models.DateField(verbose_name=_("birth date"))
|
||||
phone_number = models.CharField(verbose_name=_("phone number"), max_length=255)
|
||||
|
||||
def __str__(self):
|
||||
return str(self.pk)
|
||||
|
||||
@classmethod
|
||||
def _create_fake(self):
|
||||
return self.objects.create(
|
||||
first_name="mock",
|
||||
last_name="mock",
|
||||
birth_date="2025-09-19",
|
||||
phone_number="998940105669",
|
||||
)
|
||||
|
||||
class Meta:
|
||||
db_table = "participant"
|
||||
verbose_name = _("ParticipantModel")
|
||||
verbose_name_plural = _("ParticipantModels")
|
||||
|
||||
|
||||
class ParticipantPasportImageModel(AbstractBaseModel):
|
||||
image = models.ImageField(verbose_name=_("image"), upload_to="participant_images/")
|
||||
participant = models.ForeignKey(ParticipantModel, related_name="participant_pasport_image",
|
||||
on_delete=models.CASCADE)
|
||||
|
||||
def __str__(self):
|
||||
return str(self.pk)
|
||||
|
||||
@classmethod
|
||||
def _create_fake(self):
|
||||
return self.objects.create(
|
||||
image="resources/static/images/default_avatar.jpg",
|
||||
participant=ParticipantModel._create_fake(),
|
||||
)
|
||||
|
||||
class Meta:
|
||||
db_table = "participant_pasport_image"
|
||||
verbose_name = _("ParticipantPasportImageModel")
|
||||
verbose_name_plural = _("ParticipantPasportImageModels")
|
||||
15
core/apps/accounts/models/reset_token.py
Normal file
15
core/apps/accounts/models/reset_token.py
Normal file
@@ -0,0 +1,15 @@
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.db import models
|
||||
from django_core.models import AbstractBaseModel
|
||||
|
||||
|
||||
class ResetToken(AbstractBaseModel):
|
||||
token = models.CharField(max_length=255, unique=True)
|
||||
user = models.ForeignKey(get_user_model(), on_delete=models.CASCADE)
|
||||
|
||||
def __str__(self):
|
||||
return self.token
|
||||
|
||||
class Meta:
|
||||
verbose_name = "Reset Token"
|
||||
verbose_name_plural = "Reset Tokens"
|
||||
33
core/apps/accounts/models/user.py
Normal file
33
core/apps/accounts/models/user.py
Normal file
@@ -0,0 +1,33 @@
|
||||
from django.contrib.auth import models as auth_models
|
||||
from django.db import models
|
||||
|
||||
from ..choices import RoleChoice
|
||||
from ..managers import UserManager
|
||||
|
||||
|
||||
class User(auth_models.AbstractUser):
|
||||
phone = models.CharField(max_length=255, unique=True, null=True, blank=True)
|
||||
email = models.EmailField(unique=True, null=True, blank=True)
|
||||
username = models.CharField(max_length=255, null=True, blank=True)
|
||||
avatar = models.ImageField(default="static/images/default_avatar.jpg", upload_to="avatars/")
|
||||
created_at = models.DateTimeField(auto_now_add=True)
|
||||
updated_at = models.DateTimeField(auto_now=True)
|
||||
validated_at = models.DateTimeField(null=True, blank=True)
|
||||
role = models.CharField(
|
||||
max_length=255,
|
||||
choices=RoleChoice,
|
||||
default=RoleChoice.USER,
|
||||
)
|
||||
|
||||
USERNAME_FIELD = "phone"
|
||||
objects = UserManager()
|
||||
|
||||
def __str__(self):
|
||||
return self.username
|
||||
|
||||
@classmethod
|
||||
def _create_fake(self):
|
||||
return self.objects.create(
|
||||
phone="998940105669",
|
||||
username="mock",
|
||||
)
|
||||
Reference in New Issue
Block a user