chore: initial import
This commit is contained in:
87
api/apps/commerce/admin.py
Normal file
87
api/apps/commerce/admin.py
Normal file
@@ -0,0 +1,87 @@
|
||||
from django.contrib import admin
|
||||
|
||||
from . import models
|
||||
|
||||
|
||||
@admin.register(models.ProductCategory)
|
||||
class ProductCategoryAdmin(admin.ModelAdmin):
|
||||
list_display = ("name", "slug", "display_order", "is_active")
|
||||
list_filter = ("is_active",)
|
||||
search_fields = ("name", "slug")
|
||||
ordering = ("display_order", "name")
|
||||
prepopulated_fields = {"slug": ("name",)}
|
||||
|
||||
|
||||
@admin.register(models.Product)
|
||||
class ProductAdmin(admin.ModelAdmin):
|
||||
list_display = (
|
||||
"name",
|
||||
"category",
|
||||
"price",
|
||||
"inventory_quantity",
|
||||
"max_per_order",
|
||||
"is_active",
|
||||
"is_featured",
|
||||
)
|
||||
list_filter = ("category", "is_active", "is_featured")
|
||||
search_fields = ("name", "slug")
|
||||
prepopulated_fields = {"slug": ("name",)}
|
||||
autocomplete_fields = ("category",)
|
||||
|
||||
|
||||
@admin.register(models.DeliveryZone)
|
||||
class DeliveryZoneAdmin(admin.ModelAdmin):
|
||||
list_display = ("label", "postal_code", "is_active")
|
||||
list_filter = ("is_active",)
|
||||
search_fields = ("label", "postal_code")
|
||||
|
||||
|
||||
@admin.register(models.DeliveryOverrideCode)
|
||||
class DeliveryOverrideCodeAdmin(admin.ModelAdmin):
|
||||
list_display = ("code", "label", "max_uses", "usage_count", "is_active")
|
||||
list_filter = ("is_active",)
|
||||
search_fields = ("code", "label")
|
||||
|
||||
|
||||
class OrderItemInline(admin.TabularInline):
|
||||
model = models.OrderItem
|
||||
extra = 0
|
||||
readonly_fields = (
|
||||
"product",
|
||||
"product_name",
|
||||
"product_slug",
|
||||
"unit_price",
|
||||
"quantity",
|
||||
"line_subtotal",
|
||||
)
|
||||
|
||||
|
||||
@admin.register(models.Order)
|
||||
class OrderAdmin(admin.ModelAdmin):
|
||||
list_display = (
|
||||
"id",
|
||||
"customer_name",
|
||||
"fulfillment_method",
|
||||
"status",
|
||||
"scheduled_date",
|
||||
"total_amount",
|
||||
"created_at",
|
||||
)
|
||||
list_filter = (
|
||||
"fulfillment_method",
|
||||
"status",
|
||||
"scheduled_date",
|
||||
"delivery_postal_code",
|
||||
)
|
||||
search_fields = ("id", "customer_name", "customer_email")
|
||||
date_hierarchy = "scheduled_date"
|
||||
inlines = [OrderItemInline]
|
||||
readonly_fields = (
|
||||
"subtotal_amount",
|
||||
"tax_amount",
|
||||
"delivery_fee_amount",
|
||||
"discount_amount",
|
||||
"total_amount",
|
||||
"created_at",
|
||||
"updated_at",
|
||||
)
|
||||
Reference in New Issue
Block a user