TheDeepDas's picture
Fix Django backend deployment on HF Spaces
c68b343
raw
history blame
2.7 kB
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")