From 013b492f40d085ba0b6243e998c72ae53e7776ce Mon Sep 17 00:00:00 2001 From: Tomas Gavenciak Date: Thu, 14 May 2015 16:18:43 +0200 Subject: [PATCH] Vylepseni admin rozhrani --- seminar/admin.py | 44 ++++++++++++++++++++++++++++++++------------ seminar/models.py | 4 ++++ 2 files changed, 36 insertions(+), 12 deletions(-) diff --git a/seminar/admin.py b/seminar/admin.py index de6afbf0..8df88bca 100644 --- a/seminar/admin.py +++ b/seminar/admin.py @@ -5,7 +5,7 @@ import reversion from solo.admin import SingletonModelAdmin from ckeditor.widgets import CKEditorWidget -from seminar.models import Skola, Resitel, Rocnik, Cislo, Problem, Reseni, PrilohaReseni, Nastaveni +from seminar.models import Skola, Resitel, Rocnik, Cislo, Problem, Reseni, PrilohaReseni, Nastaveni, Soustredeni ### Nastaveni @@ -13,7 +13,7 @@ admin.site.register(Nastaveni, SingletonModelAdmin) ### Skola -class SkolaAdmin(reversion.VersionAdmin, admin.ModelAdmin): +class SkolaAdmin(reversion.VersionAdmin): fieldsets = [ (None, {'fields': ['nazev', 'kratky_nazev']}), (u'Interní ID', {'fields': ['aesop_id', 'izo'], 'classes': ['collapse']}), @@ -27,7 +27,7 @@ admin.site.register(Skola, SkolaAdmin) ### Resitel -class ResitelAdmin(reversion.VersionAdmin, admin.ModelAdmin): +class ResitelAdmin(reversion.VersionAdmin): fieldsets = [ (None, {'fields': ['jmeno', 'prijmeni', 'user']}), (u'Škola', {'fields': ['skola', 'rok_maturity']}), @@ -36,6 +36,7 @@ class ResitelAdmin(reversion.VersionAdmin, admin.ModelAdmin): (u'Adresa', {'fields': ['ulice', 'mesto', 'psc', 'stat']}), ] list_display = ['jmeno', 'prijmeni', 'user', 'pohlavi_muz', 'skola', 'rok_maturity'] + list_display_links = ['skola'] list_filter = ['pohlavi_muz', 'rok_maturity', 'zasilat'] search_fields = ['jmeno', 'prijmeni', 'ulice', 'user', 'mesto', 'email'] @@ -44,12 +45,13 @@ admin.site.register(Resitel, ResitelAdmin) ### Cislo -class CisloAdmin(reversion.VersionAdmin, admin.ModelAdmin): +class CisloAdmin(reversion.VersionAdmin): fieldsets = [ - (None, {'fields': ['cislo', 'rocnik']}), + (None, {'fields': ['cislo', 'rocnik', 'verejne_db']}), (u'Data', {'fields': ['datum_vydani', 'datum_deadline']}), ] - list_display = ['kod', 'rocnik', 'cislo', 'datum_vydani', 'datum_deadline'] + list_display = ['kod', 'rocnik', 'cislo', 'datum_vydani', 'datum_deadline', 'verejne'] + list_display_links = ['rocnik'] list_filter = ['rocnik'] admin.site.register(Cislo, CisloAdmin) @@ -61,11 +63,11 @@ class CisloInline(admin.StackedInline): ### Rocnik -class RocnikAdmin(reversion.VersionAdmin, admin.ModelAdmin): +class RocnikAdmin(reversion.VersionAdmin): fieldsets = [ (None, {'fields': ['rocnik', 'prvni_rok']}), ] - list_display = ['rocnik', 'prvni_rok'] + list_display = ['rocnik', 'prvni_rok', 'verejne'] inlines = [CisloInline] admin.site.register(Rocnik, RocnikAdmin) @@ -73,12 +75,14 @@ admin.site.register(Rocnik, RocnikAdmin) ### PrilohaReseni -class PrilohaReseniAdmin(reversion.VersionAdmin, admin.ModelAdmin): +class PrilohaReseniAdmin(reversion.VersionAdmin): readonly_fields = ['timestamp'] fieldsets = [ (None, {'fields': ['reseni', 'soubor', 'timestamp']}), + (u'Poznámky', {'fields': ['poznamka']}), ] list_display = ['reseni', 'soubor', 'timestamp'] + list_display_links = ['reseni'] list_filter = ['reseni', 'timestamp'] search_fields = [] @@ -91,12 +95,14 @@ class PrilohaReseniInline(admin.StackedInline): ### Reseni -class ReseniAdmin(reversion.VersionAdmin, admin.ModelAdmin): +class ReseniAdmin(reversion.VersionAdmin): readonly_fields = ['timestamp'] fieldsets = [ (None, {'fields': ['problem', 'resitel', 'body', 'cislo_body', 'timestamp']}), + (u'Poznámky', {'fields': ['poznamka']}), ] list_display = ['problem', 'resitel', 'body', 'timestamp'] + list_display_links = ['problem', 'resitel'] list_filter = ['body', 'timestamp'] search_fields = [] inlines = [PrilohaReseniInline] @@ -117,7 +123,7 @@ class ProblemAdminForm(forms.ModelForm): model = Problem exclude = [] -class ProblemAdmin(reversion.VersionAdmin, admin.ModelAdmin): +class ProblemAdmin(reversion.VersionAdmin): form = ProblemAdminForm # readonly_fields = ['autor'] fieldsets = [ @@ -125,9 +131,23 @@ class ProblemAdmin(reversion.VersionAdmin, admin.ModelAdmin): (u'Vydání', {'fields': ['cislo_zadani', 'kod', 'cislo_reseni', 'opravovatel']}), (u'Texty', {'fields': ['text_problemu', 'text_problemu_org']}), ] - list_display = ['nazev', 'typ', 'stav', 'autor', 'kod', 'opravovatel'] + list_display = ['kod', 'nazev', 'typ', 'stav', 'autor', 'opravovatel', 'verejne', 'cislo_zadani'] + list_display_links = ['autor', 'opravovatel', 'cislo_zadani'] list_filter = ['typ', 'stav', 'autor', 'opravovatel'] search_fields = ['nazev', 'kod', 'text_problemu_org', 'text_problemu'] inlines = [ReseniInline] admin.site.register(Problem, ProblemAdmin) + + +### Soustredeni + +class SoustredeniAdmin(reversion.VersionAdmin): + fieldsets = [ + (None, {'fields': ['rocnik', 'misto', 'verejne_db']}), + (u'Data', {'fields': ['datum_zacatku', 'datum_konce']}), + ] + list_display = ['rocnik', 'misto', 'datum_zacatku', 'verejne'] + list_filter = ['rocnik'] + +admin.site.register(Soustredeni, SoustredeniAdmin) diff --git a/seminar/models.py b/seminar/models.py index 811fa61c..06154363 100644 --- a/seminar/models.py +++ b/seminar/models.py @@ -200,6 +200,7 @@ class Rocnik(SeminarModelBase): def verejne(self): return len(self.verejne_cisla()) > 0 + verejne.boolean = True def verejna_cisla(self): vc = [c for c in self.cisla.all() if c.verejne()] @@ -252,6 +253,7 @@ class Cislo(SeminarModelBase): def verejne(self): return self.verejne_db + verejne.boolean = True def verejne_url(self): return reverse('seminar_cislo', kwargs={'pk': self.id}) @@ -327,6 +329,7 @@ class Problem(SeminarModelBase): def verejne(self): return (self.cislo_zadani and self.cislo_zadani.verejne()) + verejne.boolean = True def verejne_url(self): return reverse('seminar_problem', kwargs={'pk': self.id}) @@ -432,6 +435,7 @@ class Soustredeni(SeminarModelBase): def verejne(self): return self.verejne_db + verejne.boolean = True def verejne_url(self): return reverse('seminar_soustredeni', kwargs={'pk': self.id})