31 lines
1.2 KiB
Python
31 lines
1.2 KiB
Python
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})" |