Files
003-fleet-management/001.BACKEND/kupci/admin.py
2026-05-20 21:24:00 +02:00

41 lines
1.3 KiB
Python

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'