from django.contrib.auth.models import AbstractUser from django.db import models class CustomUser(AbstractUser): class Role(models.TextChoices): SERVISER = 'SERVISER', 'Serviser' PRODAJA = 'PRODAJA', 'Prodaja / Operativa' KNJIGOVODSTVO = 'KNJIGOVODSTVO', 'Knjigovodstvo i financije' ADMIN = 'ADMIN', 'Administrator' # Email koristimo za login, pa mora biti jedinstven email = models.EmailField(unique=True) # Dodatna polja za tvoju tvrtku telefon = models.CharField(max_length=20, blank=True) oib = models.CharField(max_length=11, blank=True, null=True) # 🚀 ZAMJENA: Umjesto is_serviser, uvodimo jedno polje za sve uloge uloga = models.CharField( max_length=20, choices=Role.choices, default=Role.SERVISER, help_text="Glavna operativna uloga korisnika u ERP sustavu" ) # Govorimo Djangu da koristi email umjesto username-a USERNAME_FIELD = 'email' REQUIRED_FIELDS = ['username', 'first_name', 'last_name'] def __str__(self): return f"{self.first_name} {self.last_name} ({self.email}) - {self.get_uloga_display()}"