Vylepseni admin rozhrani
This commit is contained in:
parent
10cfee815d
commit
013b492f40
2 changed files with 36 additions and 12 deletions
|
@ -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)
|
||||
|
|
|
@ -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})
|
||||
|
|
Loading…
Reference in a new issue