From 6142f4a979ad68ed1d5a60bc959c84a2184a461c Mon Sep 17 00:00:00 2001 From: LEdoian Date: Tue, 30 Apr 2019 21:48:46 +0200 Subject: [PATCH 1/3] Admin: Fix ResitelInline --- seminar/admin.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/seminar/admin.py b/seminar/admin.py index ceff6759..281b5534 100644 --- a/seminar/admin.py +++ b/seminar/admin.py @@ -76,11 +76,20 @@ def create_modeladmin(modeladmin, model, name = None, verbose_name = None, verbo class ResitelInline(admin.TabularInline): model = Resitel - fields = ['jmeno', 'prijmeni', 'skola', 'mesto', 'rok_maturity', ] - readonly_fields = ['jmeno', 'prijmeni', 'skola', 'mesto', 'rok_maturity', ] + fields = ['osoba_jmeno', 'osoba_prijmeni', 'skola', 'osoba_mesto', 'rok_maturity', ] + readonly_fields = ['osoba_jmeno', 'osoba_prijmeni', 'skola', 'osoba_mesto', 'rok_maturity', ] extra = 0 view_on_site = False + def osoba_jmeno(self, obj): + return obj.osoba.jmeno + + def osoba_prijmeni(self, obj): + return obj.osoba.prijmeni + + def osoba_mesto(self, obj): + return obj.osoba.mesto + def has_add_permission(self, req): return False From 9cd30ec662735786aa676153f834e27f9da709ad Mon Sep 17 00:00:00 2001 From: Anet Date: Tue, 30 Apr 2019 22:08:54 +0200 Subject: [PATCH 2/3] admin: oprava Resitele (provizorni) --- seminar/admin.py | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/seminar/admin.py b/seminar/admin.py index b755dcb6..6c9855d4 100644 --- a/seminar/admin.py +++ b/seminar/admin.py @@ -203,6 +203,7 @@ class Soustredeni_OrganizatoriInline(admin.TabularInline): class ResitelAdmin(VersionAdmin): form = autocomplete_light.modelform_factory(Resitel, autocomplete_fields=['skola'], fields=['skola']) + fk_name = 'osoba' fieldsets = [ (None, {'fields': ['jmeno', 'prijmeni', 'user']}), (u'Škola', {'fields': ['skola', 'rok_maturity']}), @@ -210,12 +211,33 @@ class ResitelAdmin(VersionAdmin): (u'Osobní údaje', {'fields': ['pohlavi_muz', 'datum_narozeni', 'email', 'telefon']}), (u'Adresa', {'fields': ['ulice', 'mesto', 'psc', 'stat']}), ] - list_display = ['jmeno', 'prijmeni', 'user', 'pohlavi_muz', 'skola', 'rok_maturity', 'pocet_reseni'] - list_filter = ['pohlavi_muz', 'rok_maturity', 'zasilat'] - search_fields = ['jmeno', 'prijmeni', 'ulice', 'mesto', 'email'] + list_display = ['osoba__jmeno', 'osoba__prijmeni', 'osoba__user', 'osoba__pohlavi_muz', 'skola', 'rok_maturity', 'pocet_reseni'] + list_filter = ['osoba__pohlavi_muz', 'rok_maturity', 'zasilat'] + search_fields = ['osoba__jmeno', 'osoba__prijmeni', 'osoba__ulice', 'osoba__mesto', 'osoba__email'] inlines = [ReseniKResiteliInline] view_on_site = False + def osoba__jmeno(self, obj): + return obj.osoba.jmeno + + def osoba__prijmeni(self, obj): + return obj.osoba.prijmeni + + def osoba__user(self, obj): + return obj.osoba.user + + def osoba__pohlavi_muz(self, obj): + return obj.osoba.pohlavi_muz + + def osoba__ulice(self, obj): + return obj.osoba.ulice + + def osoba__mesto(self, obj): + return obj.osoba.mesto + + def osoba__email(self, obj): + return obj.osoba.email + def get_queryset(self, request): qs = super(ResitelAdmin, self).get_queryset(request) return qs.select_related('skola', 'user').annotate(pocet_reseni=Count('reseni')) From 32807c9f8802074a9f5713612e4ad31fdb0eb2ee Mon Sep 17 00:00:00 2001 From: LEdoian Date: Tue, 30 Apr 2019 22:09:46 +0200 Subject: [PATCH 3/3] Fix ResitelInline a ReseniAdmin --- seminar/admin.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/seminar/admin.py b/seminar/admin.py index f00bc891..d606e147 100644 --- a/seminar/admin.py +++ b/seminar/admin.py @@ -222,7 +222,7 @@ class ResitelAdmin(VersionAdmin): list_display = ['jmeno', 'prijmeni', 'user', 'pohlavi_muz', 'skola', 'rok_maturity', 'pocet_reseni'] list_filter = ['pohlavi_muz', 'rok_maturity', 'zasilat'] search_fields = ['jmeno', 'prijmeni', 'ulice', 'mesto', 'email'] - inlines = [ReseniKResiteliInline] +# inlines = [ReseniKResiteliInline] # FIXME: view_on_site = False def get_queryset(self, request): @@ -341,7 +341,7 @@ class ReseniAdmin(VersionAdmin): list_display = [ProblemInline, ResitelInline, 'forma', 'cas_doruceni'] list_filter = ['cas_doruceni', 'forma'] search_fields = [] - inlines = [PrilohaReseniInline,ProblemInline,ResitelInline] + inlines = [PrilohaReseniInline,ProblemInline,] # FIXME: odmazáno ResitelInline view_on_site = False def get_queryset(self, request):