From 870f04550121b6675ffbf913907e236037a5e7d0 Mon Sep 17 00:00:00 2001 From: erichhasl Date: Wed, 11 Jul 2018 22:14:26 +0200 Subject: [PATCH] add search field and improve look & feel --- web_dev/sas_web/meingoethopia/admin.py | 11 +++++------ web_dev/sas_web/meingoethopia/models.py | 2 +- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/web_dev/sas_web/meingoethopia/admin.py b/web_dev/sas_web/meingoethopia/admin.py index b62165c..093601f 100644 --- a/web_dev/sas_web/meingoethopia/admin.py +++ b/web_dev/sas_web/meingoethopia/admin.py @@ -17,21 +17,19 @@ class ZugeteiltFilter(admin.SimpleListFilter): return ( ('Alle', 'Alle'), ('True', 'Zugeteilt'), + # ('More', 'Mehrfach zugeteilt'), ('False', 'Nicht zugeteilt'), ) def queryset(self, request, queryset): if self.value() == 'True': print("filter auf true") - return queryset.filter(betriebe__gt=0) + return queryset.filter(betriebe__gt=0).distinct() elif self.value() == 'False': print("filter auf false") - return queryset.filter(betriebe__exact=None) + return queryset.filter(betriebe__exact=None).distinct() elif self.value() is None: - if self.default_value[1] is None: - return queryset - else: - return [x for x in queryset if x.zugeteilt() == self.default_value[1]] + return queryset elif self.value() == 'All': return queryset @@ -122,6 +120,7 @@ class QuestionAdmin(admin.ModelAdmin): class AngestellterAdmin(admin.ModelAdmin): list_display = ('name', 'klasse', 'is_teacher', 'show_betriebe', 'zugeteilt') list_filter = (ZugeteiltFilter,) + search_fields = ('name', 'klasse') admin.site.register(Betrieb, BetriebAdmin) admin.site.register(Partei, ParteiAdmin) diff --git a/web_dev/sas_web/meingoethopia/models.py b/web_dev/sas_web/meingoethopia/models.py index c6a856d..1dbd055 100644 --- a/web_dev/sas_web/meingoethopia/models.py +++ b/web_dev/sas_web/meingoethopia/models.py @@ -10,7 +10,7 @@ class Angestellter(models.Model): return "{} ({})".format(self.name, self.klasse) def show_betriebe(self): - return ",".join([str(b) for b in self.betriebe.all()]) + return ", ".join([str(b) for b in self.betriebe.all()]) show_betriebe.short_description = "Betriebe" def zugeteilt(self):