from django.db import models from django.utils.translation import gettext_lazy as _ from api.core.models.trackable_model import TrackableModel class BrutCompany(TrackableModel): """ Model representing the brut information from a company. """ ENTITY_TYPE = [ ("COMPANY", _("Société")), ("PERSON", _("Personne")), ] first_name = models.CharField(verbose_name=_("prénom"), max_length=100, blank=True) last_name = models.CharField(verbose_name=_("nom"), max_length=100, blank=True) company_name = models.CharField( verbose_name=_("nom de société"), max_length=200, blank=True ) # unique=True ? entity_type = models.CharField( verbose_name=_("type"), max_length=20, choices=ENTITY_TYPE, help_text=_( "Si c'est une personne, le ContactPerson est automatiquement créé lorsque la société passe en prospection" ), ) lat = models.DecimalField( verbose_name=_("latitude"), max_digits=9, decimal_places=6, blank=True, null=True, ) long = models.DecimalField( verbose_name=_("longitude"), max_digits=9, decimal_places=6, blank=True, null=True, ) address = models.CharField(verbose_name=_("adresse"), max_length=150, blank=True) postal_code = models.CharField( verbose_name=_("code postal"), max_length=20, blank=True ) city = models.CharField(verbose_name=_("ville"), max_length=30, blank=True) siren = models.CharField(verbose_name=_("numéro siren"), max_length=9, blank=True) siret = models.CharField(verbose_name=_("numéro siret"), max_length=14, blank=True) processed = models.BooleanField(verbose_name=_("traité"), default=False) processed_at = models.DateTimeField( verbose_name=_("traité le"), blank=True, null=True ) processed_by = models.ForeignKey( "users.User", verbose_name=_("traité par"), null=True, on_delete=models.SET_NULL, related_name="processed_companies", ) class Meta: verbose_name = _("Entreprise") verbose_name_plural = _("Entreprises")