41 lines
1.3 KiB
Python
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' |