from django.db import models

class Kupac(models.Model):
    TIP_KUPCA = [
        ('pravno', 'Pravna osoba (Tvrtka)'),
        ('fizicko', 'Fizička osoba'),
    ]

    naziv = models.CharField(
        max_length=255, 
        help_text="Ime i prezime ili puni naziv tvrtke"
    )
    oib = models.CharField(
        max_length=11, 
        unique=True, 
        null=True, 
        blank=True,
        verbose_name="OIB"
    )
    email = models.EmailField(blank=True)
    telefon = models.CharField(max_length=50, blank=True)
    adresa = models.CharField(max_length=255, blank=True)
    grad = models.CharField(max_length=100, blank=True)
    postanski_broj = models.CharField(max_length=10, blank=True)
    
    tip = models.CharField(
        max_length=10, 
        choices=TIP_KUPCA, 
        default='pravno'
    )
    
    napomena = models.TextField(blank=True, help_text="Interni podaci o kupcu")
    
    # Sistemski podaci
    datum_kreiranja = models.DateTimeField(auto_now_add=True)
    aktivno = models.BooleanField(default=True)

    class Meta:
        verbose_name = "Kupac"
        verbose_name_plural = "Kupci"
        ordering = ['naziv']

    def __str__(self):
        return self.naziv

    @property
    def broj_strojeva(self):
        """Vraća broj strojeva povezanih s ovim kupcem"""
        return self.strojevi.count()