from django.db import models from django.utils.translation import gettext_lazy as _ from core.base_models import BaseModel class Client(BaseModel): # Tip klijenta: OIB/VAT broj je ključan za fakturiranje CLIENT_TYPES = [ ('legal', _('Pravna osoba')), ('individual', _('Fizička osoba')), ] name = models.CharField(max_length=255, verbose_name=_("Naziv/Ime")) client_type = models.CharField(max_length=20, choices=CLIENT_TYPES, default='legal') # Porezni podaci (za fakturiranje) tax_id = models.CharField(max_length=50, unique=True, verbose_name=_("OIB/VAT broj")) # Kontakt podaci email = models.EmailField(unique=True, verbose_name=_("Email")) phone = models.CharField(max_length=20, blank=True, null=True, verbose_name=_("Telefon")) address = models.TextField(verbose_name=_("Adresa")) city = models.CharField(max_length=100, verbose_name=_("Grad")) postal_code = models.CharField(max_length=20, verbose_name=_("Poštanski broj")) class Meta: verbose_name = _("Klijent") verbose_name_plural = _("Klijenti") ordering = ['name'] def __str__(self): return f"{self.name} ({self.tax_id})"