Merge branch 'data_migrations' of gimli.ms.mff.cuni.cz:/akce/mam/git/mamweb into data_migrations
This commit is contained in:
commit
b89ac8fdb7
3 changed files with 833 additions and 819 deletions
File diff suppressed because it is too large
Load diff
|
@ -1,11 +1,14 @@
|
|||
from django.contrib import admin
|
||||
from django.contrib.auth.models import Permission
|
||||
from django.db import models
|
||||
from django.forms import widgets
|
||||
|
||||
from polymorphic.admin import PolymorphicParentModelAdmin, PolymorphicChildModelAdmin, PolymorphicChildModelFilter
|
||||
from reversion.admin import VersionAdmin
|
||||
from django_reverse_admin import ReverseModelAdmin
|
||||
from solo.admin import SingletonModelAdmin
|
||||
|
||||
|
||||
# Todo: reversion
|
||||
|
||||
import seminar.models as m
|
||||
|
@ -14,8 +17,6 @@ admin.site.register(m.Skola)
|
|||
admin.site.register(m.Prijemce)
|
||||
admin.site.register(m.Rocnik)
|
||||
admin.site.register(m.Cislo)
|
||||
admin.site.register(m.Organizator)
|
||||
admin.site.register(m.Soustredeni)
|
||||
|
||||
@admin.register(m.Osoba)
|
||||
class OsobaAdmin(admin.ModelAdmin):
|
||||
|
@ -42,7 +43,14 @@ class OsobaAdmin(admin.ModelAdmin):
|
|||
org.save()
|
||||
udelej_orgem.short_description = "Udělej vybraných osob organizátory"
|
||||
|
||||
@admin.register(m.Organizator)
|
||||
class OrganizatorAdmin(admin.ModelAdmin):
|
||||
search_fields = ['osoba__jmeno', 'osoba__prijmeni', 'prezdivka']
|
||||
|
||||
@admin.register(m.Resitel)
|
||||
class ResitelAdmin(admin.ModelAdmin):
|
||||
search_fields = ['jmeno', 'prijmeni', 'prezdivka']
|
||||
ordering = ('osoba__jmeno','osoba__prijmeni')
|
||||
|
||||
@admin.register(m.Problem)
|
||||
class ProblemAdmin(PolymorphicParentModelAdmin):
|
||||
|
@ -74,15 +82,55 @@ class KonferaAdmin(PolymorphicChildModelAdmin):
|
|||
base_model = m.Konfera
|
||||
show_in_index = True
|
||||
|
||||
|
||||
class TextAdminInline(admin.TabularInline):
|
||||
model = m.Text
|
||||
formfield_overrides = {
|
||||
models.TextField: {'widget': widgets.TextInput}
|
||||
}
|
||||
exclude = ['text_zkraceny_set','text_zkraceny']
|
||||
|
||||
admin.site.register(m.Text)
|
||||
|
||||
class ResitelInline(admin.TabularInline):
|
||||
model = m.Resitel
|
||||
extra = 1
|
||||
admin.site.register(m.Resitel)
|
||||
|
||||
class SoustredeniUcastniciInline(admin.TabularInline):
|
||||
model = m.Soustredeni_Ucastnici
|
||||
extra = 1
|
||||
fields = ['resitel','poznamka']
|
||||
autocomplete_fields = ['resitel']
|
||||
ordering = ['resitel__osoba__jmeno', 'resitel__osoba__prijmeni']
|
||||
formfield_overrides = {
|
||||
models.TextField: {'widget': widgets.TextInput}
|
||||
}
|
||||
|
||||
def get_queryset(self,request):
|
||||
qs = super().get_queryset(request)
|
||||
return qs.select_related('resitel','soustredeni')
|
||||
|
||||
class SoustredeniOrganizatoriInline(admin.TabularInline):
|
||||
model = m.Soustredeni.organizatori.through
|
||||
extra = 1
|
||||
fields = ['organizator','poznamka']
|
||||
autocomplete_fields = ['organizator']
|
||||
ordering = ['organizator__osoba__jmeno','organizator__prijmeni']
|
||||
formfield_overrides = {
|
||||
models.TextField: {'widget': widgets.TextInput}
|
||||
}
|
||||
|
||||
def get_queryset(self,request):
|
||||
qs = super().get_queryset(request)
|
||||
return qs.select_related('organizator', 'soustredeni')
|
||||
|
||||
|
||||
@admin.register(m.Soustredeni)
|
||||
class SoustredeniAdmin(admin.ModelAdmin):
|
||||
model = m.Soustredeni
|
||||
inline_type = 'tabular'
|
||||
inlines = [SoustredeniUcastniciInline, SoustredeniOrganizatoriInline]
|
||||
|
||||
|
||||
class PrilohaReseniInline(admin.TabularInline):
|
||||
model = m.PrilohaReseni
|
||||
|
@ -92,6 +140,7 @@ admin.site.register(m.PrilohaReseni)
|
|||
class Reseni_ResiteleInline(admin.TabularInline):
|
||||
model = m.Reseni_Resitele
|
||||
|
||||
|
||||
@admin.register(m.Reseni)
|
||||
class ReseniAdmin(ReverseModelAdmin):
|
||||
base_model = m.Reseni
|
||||
|
@ -106,7 +155,6 @@ admin.site.register(m.Hodnoceni)
|
|||
admin.site.register(m.Pohadka)
|
||||
admin.site.register(m.Obrazek)
|
||||
|
||||
|
||||
# Polymorfismus pro stromy
|
||||
# TODO: Inlines podle https://django-polymorphic.readthedocs.io/en/stable/admin.html
|
||||
|
||||
|
|
|
@ -63,7 +63,7 @@ urlpatterns = [
|
|||
path('stare-novinky/', views.StareNovinkyView.as_view(), name='stare_novinky'),
|
||||
|
||||
# Clanky
|
||||
path('clanky/resitel/', views.ClankyResitelView.as_view(), name='clanky_resitel'),
|
||||
path('archiv/clanky/', views.ClankyResitelView.as_view(), name='clanky_resitel'),
|
||||
#path('clanky/org/', views.ClankyOrganizatorView.as_view(), name='clanky_organizator'),
|
||||
|
||||
# Aesop
|
||||
|
|
Loading…
Reference in a new issue