# -*- coding: utf-8 -*- from django.contrib import admin from django import forms import reversion from solo.admin import SingletonModelAdmin from ckeditor.widgets import CKEditorWidget from seminar.models import Skola, Resitel, Rocnik, Cislo, Problem, Reseni, PrilohaReseni, Nastaveni ### Nastaveni admin.site.register(Nastaveni, SingletonModelAdmin) ### Skola class SkolaAdmin(reversion.VersionAdmin, admin.ModelAdmin): fieldsets = [ (None, {'fields': ['nazev', 'kratky_nazev']}), (u'Interní ID', {'fields': ['aesop_id', 'izo'], 'classes': ['collapse']}), (u'Adresa', {'fields': ['ulice', 'mesto', 'psc', 'stat']}), ] list_display = ['nazev', 'aesop_id', 'mesto', 'ulice', 'stat'] search_fields = ['nazev', 'mesto', 'ulice'] admin.site.register(Skola, SkolaAdmin) ### Resitel class ResitelAdmin(reversion.VersionAdmin, admin.ModelAdmin): fieldsets = [ (None, {'fields': ['jmeno', 'prijmeni', 'user']}), (u'Škola', {'fields': ['skola', 'rok_maturity']}), (u'Seminář', {'fields': ['datum_souhlasu_udaje', 'datum_souhlasu_zasilani', 'datum_prihlaseni', 'zasilat']}), (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'] list_filter = ['pohlavi_muz', 'rok_maturity', 'zasilat'] search_fields = ['jmeno', 'prijmeni', 'ulice', 'user', 'mesto', 'email'] admin.site.register(Resitel, ResitelAdmin) ### Cislo class CisloAdmin(reversion.VersionAdmin, admin.ModelAdmin): fieldsets = [ (None, {'fields': ['cislo', 'rocnik']}), (u'Data', {'fields': ['datum_vydani', 'datum_deadline']}), ] list_display = ['kod', 'rocnik', 'cislo', 'datum_vydani', 'datum_deadline'] list_filter = ['rocnik'] admin.site.register(Cislo, CisloAdmin) class CisloInline(admin.StackedInline): model = Cislo extra = 0 ### Rocnik class RocnikAdmin(reversion.VersionAdmin, admin.ModelAdmin): fieldsets = [ (None, {'fields': ['rocnik', 'prvni_rok']}), ] list_display = ['rocnik', 'prvni_rok'] inlines = [CisloInline] admin.site.register(Rocnik, RocnikAdmin) ### PrilohaReseni class PrilohaReseniAdmin(reversion.VersionAdmin, admin.ModelAdmin): readonly_fields = ['timestamp'] fieldsets = [ (None, {'fields': ['reseni', 'soubor', 'timestamp']}), ] list_display = ['reseni', 'soubor', 'timestamp'] list_filter = ['reseni', 'timestamp'] search_fields = [] admin.site.register(PrilohaReseni, PrilohaReseniAdmin) class PrilohaReseniInline(admin.StackedInline): model = PrilohaReseni extra = 1 ### Reseni class ReseniAdmin(reversion.VersionAdmin, admin.ModelAdmin): readonly_fields = ['timestamp'] fieldsets = [ (None, {'fields': ['problem', 'resitel', 'body', 'cislo_body', 'timestamp']}), ] list_display = ['problem', 'resitel', 'body', 'timestamp'] list_filter = ['body', 'timestamp'] search_fields = [] inlines = [PrilohaReseniInline] admin.site.register(Reseni, ReseniAdmin) class ReseniInline(admin.TabularInline): model = Reseni extra = 0 ### Problem class ProblemAdminForm(forms.ModelForm): text_problemu = forms.CharField(widget=CKEditorWidget()) text_problemu_org = forms.CharField(widget=CKEditorWidget()) class Meta: model = Problem exclude = [] class ProblemAdmin(reversion.VersionAdmin, admin.ModelAdmin): form = ProblemAdminForm # readonly_fields = ['autor'] fieldsets = [ (None, {'fields': ['nazev', 'typ', 'stav', 'autor', 'body']}), (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_filter = ['typ', 'stav', 'autor', 'opravovatel'] search_fields = ['nazev', 'kod', 'text_problemu_org', 'text_problemu'] inlines = [ReseniInline] admin.site.register(Problem, ProblemAdmin)