from django.contrib import admin
from .models import Repuesto, Ticket, RegistroEvento
from mantenedorEquipos.models import Marca
# ticket/admin.py




class RegistroEventoInline(admin.TabularInline):
    model = RegistroEvento
    extra = 0
    readonly_fields = ('fecha',)


@admin.register(Ticket)
class TicketAdmin(admin.ModelAdmin):
    list_display = (
        'id', 'proyecto', 'cliente', 'zona', 'sla', 'sla_repuesto',
        'tipo_ticket', 'tecnico_asignado', 'equipo_numero_serie','direccion',
        'fecha_creacion', 'fecha_asignacion', 'fecha_limite',
        'tiempo_restante', 'estado_actual_display'  # ⬅️ Mostrar estado actual
    )
    list_filter = ('tipo_ticket', 'sla__categoria', 'tecnico_asignado')
    search_fields = ('proyecto__nombre', 'tecnico_asignado__username', 'direccion')
    readonly_fields = (
        'fecha_creacion', 'fecha_asignacion', 'fecha_limite', 'tiempo_restante'
    )

    def estado_actual_display(self, obj):
        return obj.estado_actual
    estado_actual_display.short_description = 'Estado Actual'



    
@admin.register(Repuesto)
class RepuestoAdmin(admin.ModelAdmin):
    list_display = ('codigo', 'nombre', 'cantidad', 'disponible', 'estado')  # ⬅️ mostrar estado
    list_filter = ('disponible', 'estado')  # ⬅️ filtrar por estado
    search_fields = ('codigo', 'nombre')



@admin.register(RegistroEvento)
class RegistroEventoAdmin(admin.ModelAdmin):
    list_display = ('ticket', 'status', 'fecha', 'usuario')
    list_filter = ('status', 'fecha')