32 lines
951 B
Python
32 lines
951 B
Python
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')
|