from django.db import models
from django.contrib.auth.models import User


class Contact(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='contact')
    phone_number = models.CharField(max_length=20, blank=True)

    def __str__(self):
        return self.user.get_full_name() or self.user.username

class StreetName(models.Model):
    name = models.CharField(max_length=255, unique=True)  # Assure que chaque nom de rue est unique

    def __str__(self):
        return self.name

class RealEstate(models.Model):
    STATUS_CHOICES = [
        ('affiliated', 'Affilié à l\'ASL'),
        ('not_yet', 'Pas encore affilié'),
        ('refused', 'Réfus d\'affiliation'),
    ]

    street_name = models.ForeignKey(StreetName, on_delete=models.CASCADE, related_name='real_states')
    street_number = models.CharField(max_length=10)  # Peut contenir des lettres
    contacts = models.ManyToManyField(Contact, related_name='real_states')
    status = models.CharField(max_length=20, choices=STATUS_CHOICES, default='not_yet')

    def __str__(self):
        return f"{self.street_number} {self.street_name}"
