
from django.contrib import admin
from .models import Tenant, TenantUser
from billing.models import Subscription, MpesaPayment

@admin.register(Tenant)
class TenantAdmin(admin.ModelAdmin):
    list_display = ('name', 'tenant_code', 'owner', 'plan', 'status', 'is_active', 'days_remaining', 'created_at')
    list_display_links = ('name', 'tenant_code', 'owner')
    list_filter = ('plan', 'status', 'created_at')
    search_fields = ('name', 'tenant_code', 'owner__username', 'contact_email')
    readonly_fields = ('id', 'tenant_code', 'created_at', 'is_active', 'days_remaining')

@admin.register(TenantUser)
class TenantUserAdmin(admin.ModelAdmin):
    list_display = ('user', 'tenant', 'role', 'is_active', 'joined_at')
    list_display_links = ('user', 'tenant')
    list_filter = ('role', 'is_active', 'joined_at')
    search_fields = ('user__username', 'tenant__name')

@admin.register(Subscription)
class SubscriptionAdmin(admin.ModelAdmin):
    list_display = ('tenant', 'plan', 'amount', 'start_date', 'end_date', 'payment_status', 'created_at')
    list_filter = ('plan', 'payment_status', 'created_at')
    search_fields = ('tenant__name', 'mpesa_reference')
    readonly_fields = ('id', 'created_at')

@admin.register(MpesaPayment)
class MpesaPaymentAdmin(admin.ModelAdmin):
    list_display = ('subscription', 'phone_number', 'amount', 'status', 'mpesa_receipt_number', 'created_at')
    list_filter = ('status', 'created_at')
    search_fields = ('phone_number', 'mpesa_receipt_number', 'subscription__tenant__name')
    readonly_fields = ('created_at', 'updated_at')
