add not too old filter

v1-0-stable
Paul Schiffers 9 years ago
parent 300dd68684
commit eb5b466c9f

@ -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)
Loading…
Cancel
Save