from django.contrib import admin
from .models import Kupac

@admin.register(Kupac)
class KupacAdmin(admin.ModelAdmin):
    # Polja koja se vide u glavnoj tablici
    list_display = ('naziv', 'oib', 'grad', 'telefon', 'prikaz_broja_strojeva', 'aktivno')
    
    # Brzo uređivanje "aktivno" statusa direktno iz tablice
    list_editable = ('aktivno',)
    
    # Filtriranje s desne strane
    list_filter = ('tip', 'aktivno', 'grad')
    
    # Pretraga po ključnim poljima
    # OBAVEZNO dodaj search_fields kako bi autocomplete radio u fleet i nalozi
    search_fields = ('naziv', 'oib', 'email', 'grad')
    
    # Organizacija forme za unos
    fieldsets = (
        ('Osnovni podaci', {
            'fields': (('naziv', 'tip'), 'oib')
        }),
        ('Kontakt i lokacija', {
            'fields': ('email', 'telefon', 'adresa', ('grad', 'postanski_broj'))
        }),
        ('Dodatno', {
            'fields': ('napomena', 'aktivno'),
            'classes': ('collapse',)
        }),
    )

    # Čitanje sistemskih podataka bez mogućnosti izmjene
    readonly_fields = ('datum_kreiranja',)

    def prikaz_broja_strojeva(self, obj):
        """Prikazuje broj strojeva direktno u listi kupaca"""
        # Koristimo property koji si već definirao u modelu
        return obj.broj_strojeva
    
    prikaz_broja_strojeva.short_description = 'Strojevi'