33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
from django.contrib import admin
|
|
from modeltranslation.admin import TranslationAdmin
|
|
from .models import Profile, Category, Vendor, Product, Order, OrderItem
|
|
|
|
@admin.register(Category)
|
|
class CategoryAdmin(TranslationAdmin):
|
|
list_display = ('name', 'slug')
|
|
prepopulated_fields = {'slug': ('name',)}
|
|
|
|
@admin.register(Vendor)
|
|
class VendorAdmin(TranslationAdmin):
|
|
list_display = ('business_name', 'user', 'is_verified')
|
|
list_filter = ('is_verified',)
|
|
search_fields = ('business_name', 'user__username')
|
|
|
|
@admin.register(Product)
|
|
class ProductAdmin(TranslationAdmin):
|
|
list_display = ('name', 'vendor', 'category', 'price', 'stock', 'is_available')
|
|
list_filter = ('is_available', 'category', 'vendor')
|
|
search_fields = ('name', 'description')
|
|
prepopulated_fields = {'slug': ('name',)}
|
|
|
|
class OrderItemInline(admin.TabularInline):
|
|
model = OrderItem
|
|
extra = 0
|
|
|
|
@admin.register(Order)
|
|
class OrderAdmin(admin.ModelAdmin):
|
|
list_display = ('id', 'full_name', 'total_price', 'status', 'payment_method', 'created_at')
|
|
list_filter = ('status', 'payment_method', 'created_at')
|
|
inlines = [OrderItemInline]
|
|
|
|
admin.site.register(Profile) |