Browse Source

Přidány akce pro přegenerování deadlinů do Admina

Nikdo o tom neví, a když se o tom dozví, tak se buď nic nezmění, nebo to bylo
tak dávno, že si toho nikdo nevšimne :-D Ale na testování se to hodí…

Also: někde jsem přepsal mezery na taby.
pull/36/head
MaM Web user 1 year ago
parent
commit
e182785e48
  1. 20
      seminar/admin.py

20
seminar/admin.py

@ -12,16 +12,22 @@ from django.utils.safestring import mark_safe
import seminar.models as m import seminar.models as m
admin.site.register(m.Rocnik) admin.site.register(m.Rocnik)
admin.site.register(m.Deadline)
admin.site.register(m.ZmrazenaVysledkovka) admin.site.register(m.ZmrazenaVysledkovka)
@admin.register(m.Deadline)
class DeadlineAdmin(admin.ModelAdmin):
actions = ['pregeneruj_vysledkovku']
def pregeneruj_vysledkovku(self, req, qs):
for deadline in qs:
deadline.vygeneruj_vysledkovku()
pregeneruj_vysledkovku.short_description = 'Přegeneruj výsledkovky vybraných deadlinů'
class DeadlineAdminInline(admin.TabularInline): class DeadlineAdminInline(admin.TabularInline):
model = m.Deadline model = m.Deadline
extra = 0 extra = 0
class CisloForm(ModelForm): class CisloForm(ModelForm):
class Meta: class Meta:
model = m.Cislo model = m.Cislo
@ -71,7 +77,7 @@ class CisloForm(ModelForm):
@admin.register(m.Cislo) @admin.register(m.Cislo)
class CisloAdmin(admin.ModelAdmin): class CisloAdmin(admin.ModelAdmin):
form = CisloForm form = CisloForm
actions = ['force_publish'] actions = ['force_publish', 'pregeneruj_vysledkovky']
inlines = (DeadlineAdminInline,) inlines = (DeadlineAdminInline,)
def force_publish(self,request,queryset): def force_publish(self,request,queryset):
@ -111,6 +117,12 @@ class CisloAdmin(admin.ModelAdmin):
force_publish.short_description = 'Zveřejnit vybraná čísla a všechny návrhy úloh v nich učinit zadanými' force_publish.short_description = 'Zveřejnit vybraná čísla a všechny návrhy úloh v nich učinit zadanými'
def pregeneruj_vysledkovky(self, req, qs):
for cislo in qs:
for deadline in cislo.deadline_v_cisle.all():
deadline.vygeneruj_vysledkovku()
pregeneruj_vysledkovky.short_description = 'Přegenerovat výsledkovky všech deadlinů vybraných čísel'
@admin.register(m.Problem) @admin.register(m.Problem)
class ProblemAdmin(PolymorphicParentModelAdmin): class ProblemAdmin(PolymorphicParentModelAdmin):

Loading…
Cancel
Save