from django.contrib import admin
from .models import Protocolo, ProtocoloSemeadura, ProtocoloFinalizado, ProtocoloSemeaduraFinalizado

@admin.register(Protocolo)
class ProtocoloAdmin(admin.ModelAdmin):
    list_display = ('num_protocolo', 'get_tipo_cliente_display', 'cliente_fisico', 'cliente_empresa', 'data_criacao', 'finalizado')
    search_fields = ('num_protocolo', 'cliente_fisico__nome_completo', 'cliente_empresa__razao_social')
    list_filter = ('tipo_cliente', 'finalizado', 'data_criacao')
    ordering = ('num_protocolo',)
    
    fieldsets = (
        ('Informações do Protocolo', {
            'fields': ('tipo_cliente', 'cliente_fisico', 'cliente_empresa', 'num_protocolo', 'referente_nf', 'tipo_pagamento', 'num_pedido', 'data_saida_protocolo', 'finalizado')
        }),
        ('Detalhes da Entrega', {
            'fields': ('destino_muda', 'placa_veiculo', 'resp_recebimento', 'inscricao_estadual')
        }),
        ('Informações do Produtor', {
            'fields': ('produtor', 'renasem_produtor', 'resp_tecnico', 'renasem_tecnico')
        }),
        ('Observações', {
            'fields': ('observacao',)
        }),
    )

@admin.register(ProtocoloSemeadura)
class ProtocoloSemeaduraAdmin(admin.ModelAdmin):
    list_display = ('protocolo', 'semeadura', 'categoria', 'qtd_especie', 'valor_unit', 'valor_total', 'data_venda')
    search_fields = ('protocolo__num_protocolo', 'semeadura__numero_lote', 'categoria')
    list_filter = ('categoria', 'data_venda')
    ordering = ('protocolo',)

@admin.register(ProtocoloFinalizado)
class ProtocoloFinalizadoAdmin(admin.ModelAdmin):
    list_display = ('num_protocolo', 'tipo_cliente', 'cliente_fisico', 'cliente_empresa', 'data_finalizacao', 'usuario_finalizacao')
    search_fields = ('num_protocolo', 'cliente_fisico__nome_completo', 'cliente_empresa__razao_social')
    list_filter = ('tipo_cliente', 'data_finalizacao')
    ordering = ('data_finalizacao',)
    
    fieldsets = (
        ('Informações do Protocolo Finalizado', {
            'fields': ('num_protocolo', 'tipo_cliente', 'cliente_fisico', 'cliente_empresa', 'referente_nf', 'tipo_pagamento', 'num_pedido', 'destino_muda', 'placa_veiculo', 'resp_recebimento')
        }),
        ('Informações Adicionais', {
            'fields': ('produtor', 'renasem_produtor', 'resp_tecnico', 'renasem_tecnico', 'data_criacao', 'data_finalizacao', 'usuario_finalizacao', 'finalizado')
        }),
    )

@admin.register(ProtocoloSemeaduraFinalizado)
class ProtocoloSemeaduraFinalizadoAdmin(admin.ModelAdmin):
    list_display = ('protocolo_finalizado', 'semeadura', 'categoria', 'qtd_especie', 'valor_unit', 'valor_total', 'data_venda')
    search_fields = ('protocolo_finalizado__num_protocolo', 'semeadura__numero_lote', 'categoria')
    list_filter = ('categoria', 'data_venda')
    ordering = ('protocolo_finalizado',)
