diff --git a/apps/food/tables.py b/apps/food/tables.py index 7789ad76..5b854e64 100644 --- a/apps/food/tables.py +++ b/apps/food/tables.py @@ -2,6 +2,7 @@ # SPDX-License-Identifier: GPL-3.0-or-later import django_tables2 as tables +from django.utils.translation import gettext_lazy as _ from .models import Food @@ -10,10 +11,25 @@ class FoodTable(tables.Table): """ List all foods. """ + qr_code_numbers = tables.Column(empty_values=(), verbose_name=_("QR Codes"), orderable=False) + + date = tables.Column(empty_values=(), verbose_name=_("Arrival/creation date"), orderable=False) + + def render_date(self, record): + if record.__class__.__name__ == "BasicFood": + return record.arrival_date.strftime("%d/%m/%Y %H:%M") + elif record.__class__.__name__ == "TransformedFood": + return record.creation_date.strftime("%d/%m/%Y %H:%M") + else: + return "--" + + def render_qr_code_numbers(self, record): + return ", ".join(str(q.qr_code_number) for q in record.QR_code.all()) + class Meta: model = Food template_name = 'django_tables2/bootstrap4.html' - fields = ('name', 'owner', 'allergens', 'expiry_date') + fields = ('name', 'owner', 'qr_code_numbers', 'allergens', 'date', 'expiry_date') row_attrs = { 'class': 'table-row', 'data-href': lambda record: 'detail/' + str(record.pk), diff --git a/apps/food/templates/food/food_list.html b/apps/food/templates/food/food_list.html index bd54ece9..8e52a00a 100644 --- a/apps/food/templates/food/food_list.html +++ b/apps/food/templates/food/food_list.html @@ -34,6 +34,12 @@ SPDX-License-Identifier: GPL-3.0-or-later