from django.contrib import admin
from .models import Payment, CommissionConfig, Settlement

@admin.register(Payment)
class PaymentAdmin(admin.ModelAdmin):
    list_display = (
        'transaction_id', 
        'amount', 
        'status', 
        'payment_method', 
        'content_object', 
        'created_at'
    )
    list_filter = ('status', 'payment_method', 'created_at')
    search_fields = ('transaction_id', 'status')
    readonly_fields = ('content_type', 'object_id', 'created_at')

    def content_object(self, obj):
        return obj.content_object
    content_object.short_description = 'Related Booking/Order'

@admin.register(CommissionConfig)
class CommissionConfigAdmin(admin.ModelAdmin):
    list_display = ('hotel', 'percentage', 'created_at', 'updated_at')
    search_fields = ('hotel__name',)

@admin.register(Settlement)
class SettlementAdmin(admin.ModelAdmin):
    list_display = ('hotel', 'booking', 'total_booking_amount', 'commission_amount', 'settlement_amount', 'status', 'scheduled_for')
    list_filter = ('status', 'scheduled_for')
    search_fields = ('hotel__name', 'booking__invoice_number', 'transaction_id')
    readonly_fields = ('created_at', 'updated_at')
