diff --git a/jdav_web/material/admin.py b/jdav_web/material/admin.py index 782b960..986ab8d 100644 --- a/jdav_web/material/admin.py +++ b/jdav_web/material/admin.py @@ -1,4 +1,6 @@ from django.contrib import admin +from django.utils. translation import ugettext_lazy as translate +from django.contrib.admin import SimpleListFilter from .models import MaterialPart, Ownership @@ -13,10 +15,30 @@ class OwnershipInline(admin.StackedInline): extra = 0 +class NotTooOldFilter(SimpleListFilter): + title = translate('Age') + parameter_name = 'age' + + def lookups(self, request, model_admin): + return ( + ('too_old', translate('Not Too Old')), + ('not_too_old', translate('Too old')), + ) + + def queryset(self, request, queryset): + if self.value() == 'too_old': + return queryset.filter(pk__in=[x.pk for x in queryset.all() if x.not_too_old()]) + if self.value() == 'not_too_old': + return queryset.filter(pk__in=[x.pk for x in queryset.all() if not x.not_too_old()]) + + + class MaterialAdmin(admin.ModelAdmin): """Edit view of a MaterialPart""" list_display = ('name', 'buy_date', 'lifetime', 'not_too_old', 'photo') inlines = [OwnershipInline] + list_filter = (NotTooOldFilter,) + -admin.site.register(MaterialPart, MaterialAdmin) +admin.site.register(MaterialPart, MaterialAdmin) \ No newline at end of file diff --git a/jdav_web/material/materials.json b/jdav_web/material/materials.json new file mode 100644 index 0000000..32c2bac --- /dev/null +++ b/jdav_web/material/materials.json @@ -0,0 +1,38 @@ +[ + { + "model": "material.MaterialPart", + "pk": "1", + "fields": { + "name": "Seil 40m grĂ¼n", + "buy_date": "2016-01-01", + "lifetime": "3" + } + }, + { + "model": "material.MaterialPart", + "pk": "2", + "fields": { + "name": "Seil 40m blau", + "buy_date": "2012-01-01", + "lifetime": "3" + } + }, + { + "model": "material.MaterialPart", + "pk": "3", + "fields": { + "name": "Seil 60m gelb", + "buy_date": "2013-01-01", + "lifetime": "3" + } + }, + { + "model": "material.MaterialPart", + "pk": "4", + "fields": { + "name": "Seil 60m blau", + "buy_date": "2016-01-01", + "lifetime": "3" + } + } +] \ No newline at end of file