from django.contrib import admin
from .models import ClientType, NormalizedInvoice, NormalizedInvoiceLine, TauxDeChange


@admin.register(TauxDeChange)
class TauxDeChangeAdmin(admin.ModelAdmin):
    list_display = ("libelle", "taux", "date_taux", "actif")
    list_editable = ("actif",)
    list_filter = ("actif",)
    ordering = ("-date_taux",)
    search_fields = ("libelle",)


@admin.register(ClientType)
class ClientTypeAdmin(admin.ModelAdmin):
    list_display = ("nom", "ordre")
    list_editable = ("ordre",)
    ordering = ("ordre", "nom")


class NormalizedInvoiceLineInline(admin.TabularInline):
    model = NormalizedInvoiceLine
    extra = 0


@admin.register(NormalizedInvoice)
class NormalizedInvoiceAdmin(admin.ModelAdmin):
    list_display = ("invoice_number", "invoice_type", "client_nom", "societe", "created_at")
    list_filter = ("societe",)
    search_fields = ("invoice_number", "client_nom", "source_filename")
    inlines = [NormalizedInvoiceLineInline]


@admin.register(NormalizedInvoiceLine)
class NormalizedInvoiceLineAdmin(admin.ModelAdmin):
    list_display = ("invoice", "designation", "quantity", "amount_ttc")
    list_filter = ("invoice",)
