67 lines
1.5 KiB
Python
67 lines
1.5 KiB
Python
from django.contrib import admin
|
|
|
|
# Register your models here.
|
|
|
|
from .models import PantryItem, PantryItemLine
|
|
|
|
class PantryItemInLine(admin.TabularInline):
|
|
model = PantryItemLine
|
|
extra = 1
|
|
|
|
def upper_case_name(obj):
|
|
return obj.name.upper()
|
|
upper_case_name.short_description = 'Name'
|
|
|
|
|
|
def capitalize_name(obj):
|
|
return obj.name.capitalize()
|
|
upper_case_name.short_description = 'Name'
|
|
|
|
|
|
|
|
class PantryItemInLineAdmin(admin.ModelAdmin):
|
|
list_filter = ['expiry_date', 'unit', 'pantry_item', 'pantry_item__min_quantity']
|
|
search_fields = ['info', 'pantry_item__name', 'pantry_item__info']
|
|
autocomplete_fields = ['pantry_item',]
|
|
fields = (
|
|
'pantry_item',
|
|
'quantity',
|
|
'expiry_date',
|
|
('size', 'unit'),
|
|
'info',
|
|
)
|
|
|
|
list_display = (
|
|
'pantry_item',
|
|
'quantity',
|
|
'expiry_date',
|
|
'size',
|
|
'unit',
|
|
'info',
|
|
)
|
|
|
|
|
|
class PantryItemAdmin(admin.ModelAdmin):
|
|
list_filter = ['category', 'unit', 'min_quantity']
|
|
search_fields = ['info', 'name']
|
|
inlines = [PantryItemInLine]
|
|
# TODO: make category a model
|
|
#autocomplete_fields = ['category',]
|
|
fields = (
|
|
'name',
|
|
'category',
|
|
('min_quantity', 'unit'),
|
|
'info',
|
|
)
|
|
|
|
list_display = (
|
|
capitalize_name,
|
|
'category',
|
|
'min_quantity',
|
|
'unit',
|
|
'info',
|
|
)
|
|
|
|
admin.site.register(PantryItem, PantryItemAdmin)
|
|
admin.site.register(PantryItemLine, PantryItemInLineAdmin)
|