MistryBox / cart /admin.py
NitinBot001's picture
Upload 130 files
4b2adab verified
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")