from django.contrib import admin from .models import DiscountCode, Offer, Redemption, UserOffer class RedemptionInline(admin.TabularInline): model = Redemption extra = 0 @admin.register(DiscountCode) class DiscountCodeAdmin(admin.ModelAdmin): list_display = ('id', 'code', 'type', 'value', 'max_uses', 'expires_at') inlines = [RedemptionInline] @admin.register(Redemption) class RedemptionAdmin(admin.ModelAdmin): list_display = ('id', 'discount_code', 'user_id', 'order_id', 'redeemed_at') @admin.register(Offer) class OfferAdmin(admin.ModelAdmin): list_display = ('id', 'name', 'kind', 'duration_days', 'code', 'auto_assign_on_signup', 'is_active') list_filter = ('kind', 'auto_assign_on_signup', 'is_active') @admin.register(UserOffer) class UserOfferAdmin(admin.ModelAdmin): list_display = ('id', 'offer', 'user_id', 'source', 'status', 'granted_at', 'expires_at') list_filter = ('source', 'status')