from django.contrib import admin

from .models import Sale, SaleItem, SaleReturn, SaleReturnItem


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


@admin.register(Sale)
class SaleAdmin(admin.ModelAdmin):
    list_display = ('invoice_number', 'customer_name', 'payment_method', 'sold_by', 'sold_at')
    list_filter = ('payment_method',)
    search_fields = ('invoice_number', 'customer_name', 'customer_phone')
    inlines = [SaleItemInline]


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


@admin.register(SaleReturn)
class SaleReturnAdmin(admin.ModelAdmin):
    list_display = ('sale', 'processed_by', 'reason', 'created_at')
    search_fields = ('sale__invoice_number', 'reason')
    inlines = [SaleReturnItemInline]
