from django.contrib import admin
from .models import Brand, ProductCategory, ProductSize, Supplier, Product, Purchase, PurchaseItem, StockLog


@admin.register(Brand)
class BrandAdmin(admin.ModelAdmin):
    list_display = ["name", "company", "is_active"]
    list_filter = ["company", "is_active"]


@admin.register(ProductCategory)
class ProductCategoryAdmin(admin.ModelAdmin):
    list_display = ["name", "company", "is_active"]
    list_filter = ["company", "is_active"]


@admin.register(ProductSize)
class ProductSizeAdmin(admin.ModelAdmin):
    list_display = ["name", "company"]
    list_filter = ["company"]


@admin.register(Supplier)
class SupplierAdmin(admin.ModelAdmin):
    list_display = ["name", "company", "phone", "is_active"]
    list_filter = ["company", "is_active"]


class PurchaseItemInline(admin.TabularInline):
    model = PurchaseItem
    extra = 0


@admin.register(Product)
class ProductAdmin(admin.ModelAdmin):
    list_display = ["name", "company", "brand", "category", "current_stock", "buy_price", "sell_price", "is_active"]
    list_filter = ["company", "brand", "category", "is_active"]
    search_fields = ["name", "sku"]


@admin.register(Purchase)
class PurchaseAdmin(admin.ModelAdmin):
    list_display = ["invoice_number", "company", "supplier", "date", "net_amount"]
    list_filter = ["company", "date"]
    inlines = [PurchaseItemInline]


@admin.register(StockLog)
class StockLogAdmin(admin.ModelAdmin):
    list_display = ["product", "stock_type", "quantity_change", "reference_id", "created_at"]
    list_filter = ["company", "stock_type"]
