# shipping/admin.py
from django.contrib import admin
from .models import ShippingDetail, TrackingEvent


@admin.register(ShippingDetail)
class ShippingDetailAdmin(admin.ModelAdmin):
    list_display = ("tracking_number", "client_name", "status", "shipping_progress", "mode", "updated_at")
    list_filter  = ("status", "mode", "delivered")
    search_fields = ("tracking_number", "client_name", "email_address", "origin", "destination")
    


class TrackingEventInline(admin.TabularInline):
    model = TrackingEvent
    extra = 1
    fields = (
        "title",
        "description",
        "location",
        "event_time",
    )
    ordering = ("-event_time",)
    show_change_link = True


@admin.register(ShippingDetail)
class ShippingDetailAdmin(admin.ModelAdmin):
    list_display = (
        "tracking_number",
        "client_name",
        "status",
        "shipping_progress",
        "mode",
        "updated_at",
    )

    list_filter = ("status", "mode", "delivered")

    search_fields = (
        "tracking_number",
        "client_name",
        "email_address",
        "origin",
        "destination",
    )

    inlines = [TrackingEventInline]


@admin.register(TrackingEvent)
class TrackingEventAdmin(admin.ModelAdmin):
    list_display = (
        "shipment",
        "title",
        "location",
        "event_time",
    )

    list_filter = ("event_time",)

    search_fields = (
        "shipment__tracking_number",
        "shipment__client_name",
        "title",
        "location",
    )

    ordering = ("-event_time",)


admin.site.site_header = "vanlineslogisko.ltd ADMINISTRATOR"
admin.site.site_title = "vanlineslogisko.ltd"
admin.site.site_url = "https://vanlineslogiskolimited.ltd"

