35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
from django.contrib import admin
|
|
from .models import Ingredient, MenuItem, MenuItemIngredient, Order, OrderItem, UserProfile
|
|
|
|
@admin.register(UserProfile)
|
|
class UserProfileAdmin(admin.ModelAdmin):
|
|
list_display = ('user', 'role')
|
|
list_filter = ('role',)
|
|
search_fields = ('user__username',)
|
|
|
|
class MenuItemIngredientInline(admin.TabularInline):
|
|
model = MenuItemIngredient
|
|
extra = 1
|
|
|
|
@admin.register(Ingredient)
|
|
class IngredientAdmin(admin.ModelAdmin):
|
|
list_display = ('name', 'stock_quantity', 'unit')
|
|
search_fields = ('name',)
|
|
|
|
@admin.register(MenuItem)
|
|
class MenuItemAdmin(admin.ModelAdmin):
|
|
list_display = ('name', 'price', 'is_active')
|
|
inlines = [MenuItemIngredientInline]
|
|
search_fields = ('name',)
|
|
|
|
class OrderItemInline(admin.TabularInline):
|
|
model = OrderItem
|
|
extra = 0
|
|
readonly_fields = ('menu_item', 'quantity', 'price_at_order')
|
|
|
|
@admin.register(Order)
|
|
class OrderAdmin(admin.ModelAdmin):
|
|
list_display = ('order_number', 'total_price', 'created_at')
|
|
inlines = [OrderItemInline]
|
|
readonly_fields = ('order_number', 'total_price', 'created_at', 'customer_notes')
|