Spaces:
Sleeping
Sleeping
File size: 1,311 Bytes
4b2adab |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
from django.contrib import admin
from .models import Cart, CartItem, Order, OrderItem, Payment
class CartItemInline(admin.TabularInline):
model = CartItem
extra = 0
readonly_fields = ("box", "quantity", "subtotal")
@admin.register(Cart)
class CartAdmin(admin.ModelAdmin):
list_display = ("id", "user", "created_at", "total_amount_display")
inlines = [CartItemInline]
def total_amount_display(self, obj):
return obj.total_amount
total_amount_display.short_description = "Total Amount"
class OrderItemInline(admin.TabularInline):
model = OrderItem
extra = 0
readonly_fields = ("box", "quantity", "unit_price", "subtotal")
@admin.register(Order)
class OrderAdmin(admin.ModelAdmin):
list_display = ("order_number", "user", "total_amount", "status", "created_at")
list_filter = ("status", "created_at")
search_fields = ("user__user__email",)
inlines = [OrderItemInline]
readonly_fields = ("order_number", "created_at")
@admin.register(Payment)
class PaymentAdmin(admin.ModelAdmin):
list_display = ("order", "payment_method", "status", "transaction_id", "paid_at")
list_filter = ("payment_method", "status")
search_fields = ("order__order_number", "transaction_id")
|