Spaces:
Runtime error
Runtime error
File size: 2,696 Bytes
c68b343 |
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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
from django.contrib import admin
from django.contrib import admin
from .models import (
Cart,
CartItem,
PaymentOrder,
Order,
OrderItem,
Payment,
Transaction,
)
# =========================
# CART
# =========================
class CartItemInline(admin.TabularInline):
model = CartItem
extra = 0
readonly_fields = ("product", "quantity")
@admin.register(Cart)
class CartAdmin(admin.ModelAdmin):
list_display = ("id", "user", "is_active", "created_at")
list_filter = ("is_active", "created_at")
search_fields = ("user__email", "user__username")
readonly_fields = ("created_at",)
inlines = [CartItemInline]
# =========================
# MASTER PAYMENT ORDER
# =========================
@admin.register(PaymentOrder)
class PaymentOrderAdmin(admin.ModelAdmin):
list_display = (
"id",
"order_type",
"user",
"amount",
"status",
"razorpay_order_id",
"created_at",
)
list_filter = ("order_type", "status", "created_at")
search_fields = ("razorpay_order_id", "user__email", "user__username")
readonly_fields = ("created_at",)
# =========================
# PRODUCT ORDER
# =========================
class OrderItemInline(admin.TabularInline):
model = OrderItem
extra = 0
readonly_fields = (
"product_name",
"price",
"quantity",
"weight_kg",
)
@admin.register(Order)
class OrderAdmin(admin.ModelAdmin):
list_display = (
"id",
"full_name",
"email",
"phone",
"status",
"total_amount",
"created_at",
)
list_filter = ("status", "created_at", "city")
search_fields = ("full_name", "email", "phone")
readonly_fields = ("created_at",)
inlines = [OrderItemInline]
# =========================
# PAYMENT
# =========================
class TransactionInline(admin.TabularInline):
model = Transaction
extra = 0
readonly_fields = ("event", "response", "created_at")
@admin.register(Payment)
class PaymentAdmin(admin.ModelAdmin):
list_display = (
"id",
"payment_order",
"razorpay_payment_id",
"status",
"created_at",
)
list_filter = ("status", "created_at")
search_fields = ("razorpay_payment_id",)
readonly_fields = ("created_at",)
inlines = [TransactionInline]
# =========================
# TRANSACTIONS
# =========================
@admin.register(Transaction)
class TransactionAdmin(admin.ModelAdmin):
list_display = ("id", "payment", "event", "created_at")
list_filter = ("event", "created_at")
readonly_fields = ("event", "response", "created_at") |