From fc0d019c35b1923573daea11e6f68d6eac7010de Mon Sep 17 00:00:00 2001 From: Jens Timmerman Date: Thu, 20 Sep 2018 23:00:05 +0200 Subject: [PATCH] extra admin niceness --- inventory/admin.py | 36 ++++++++++++++++++++++++++++++++++-- inventory/models.py | 2 +- 2 files changed, 35 insertions(+), 3 deletions(-) diff --git a/inventory/admin.py b/inventory/admin.py index 871dba7..cff117e 100644 --- a/inventory/admin.py +++ b/inventory/admin.py @@ -8,8 +8,29 @@ 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'] + 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', @@ -21,10 +42,21 @@ class PantryItemInLineAdmin(admin.ModelAdmin): class PantryItemAdmin(admin.ModelAdmin): + list_filter = ['category', 'unit', 'min_quantity'] + search_fields = ['info', 'name'] inlines = [PantryItemInLine] - list_display = ( + # TODO: make category a model + #autocomplete_fields = ['category',] + fields = ( 'name', 'category', + ('min_quantity', 'unit'), + 'info', + ) + + list_display = ( + capitalize_name, + 'category', 'min_quantity', 'unit', 'info', diff --git a/inventory/models.py b/inventory/models.py index 1441a29..c6ce766 100644 --- a/inventory/models.py +++ b/inventory/models.py @@ -48,7 +48,7 @@ class PantryItem(models.Model): class PantryItemLine(models.Model): # user? - pantry_item = models.ForeignKey(PantryItem, on_delete=models.PROTECT, default='UN' ) + pantry_item = models.ForeignKey(PantryItem, on_delete=models.PROTECT, default='UC' ) quantity = models.IntegerField(default=1) expiry_date = models.DateField(null=True, blank=True) size = models.IntegerField(default=1) #, decimal_places=3, max_digits=32)