from django.contrib import admin
from .models import Customer, Payment, Sale, SaleItem, SaleReturn, SaleReturnItem


@admin.register(Customer)
class CustomerAdmin(admin.ModelAdmin):
    list_display = ["name", "company", "phone", "is_active"]
    list_filter = ["company", "is_active"]
    search_fields = ["name", "phone", "email"]


class SaleItemInline(admin.TabularInline):
    model = SaleItem
    extra = 0


@admin.register(Sale)
class SaleAdmin(admin.ModelAdmin):
    list_display = ["invoice_number", "company", "customer", "date", "net_amount", "payment_method"]
    list_filter = ["company", "payment_method", "date"]
    inlines = [SaleItemInline]


class SaleReturnItemInline(admin.TabularInline):
    model = SaleReturnItem
    extra = 0


@admin.register(SaleReturn)
class SaleReturnAdmin(admin.ModelAdmin):
    list_display = ["return_number", "company", "sale", "date", "total_amount"]
    list_filter = ["company", "date"]
    inlines = [SaleReturnItemInline]


@admin.register(Payment)
class PaymentAdmin(admin.ModelAdmin):
    list_display = ["sale", "company", "customer", "amount", "payment_method", "paid_at", "created_by"]
    list_filter = ["company", "payment_method", "paid_at"]
    search_fields = ["sale__invoice_number", "customer__name", "reference"]
