|
|
@ -12,15 +12,25 @@ from django.utils.safestring import mark_safe |
|
|
|
import seminar.models as m |
|
|
|
|
|
|
|
admin.site.register(m.Rocnik) |
|
|
|
|
|
|
|
admin.site.register(m.Deadline) |
|
|
|
admin.site.register(m.ZmrazenaVysledkovka) |
|
|
|
|
|
|
|
|
|
|
|
@admin.register(m.Deadline) |
|
|
|
class DeadlineAdmin(admin.ModelAdmin): |
|
|
|
actions = ['pregeneruj_vysledkovku'] |
|
|
|
|
|
|
|
# Nikomu nezobrazovat, ale superuživatelům se může hodit :-) |
|
|
|
@admin.action(permissions=['bazmek'], description= 'Přegeneruj výsledkovky vybraných deadlinů') |
|
|
|
def pregeneruj_vysledkovku(self, req, qs): |
|
|
|
for deadline in qs: |
|
|
|
deadline.vygeneruj_vysledkovku() |
|
|
|
|
|
|
|
def has_bazmek_permission(self, request): |
|
|
|
# Boilerplate: potřebujeme nějakou permission, protože nějaká haluz v Djangu… |
|
|
|
return request.user.is_superuser |
|
|
|
|
|
|
|
class DeadlineAdminInline(admin.TabularInline): |
|
|
|
model = m.Deadline |
|
|
|
extra = 0 |
|
|
|
|
|
|
|
model = m.Deadline |
|
|
|
extra = 0 |
|
|
|
|
|
|
|
class CisloForm(ModelForm): |
|
|
|
class Meta: |
|
|
@ -71,7 +81,7 @@ class CisloForm(ModelForm): |
|
|
|
@admin.register(m.Cislo) |
|
|
|
class CisloAdmin(admin.ModelAdmin): |
|
|
|
form = CisloForm |
|
|
|
actions = ['force_publish'] |
|
|
|
actions = ['force_publish', 'pregeneruj_vysledkovky'] |
|
|
|
inlines = (DeadlineAdminInline,) |
|
|
|
|
|
|
|
def force_publish(self,request,queryset): |
|
|
@ -111,6 +121,17 @@ class CisloAdmin(admin.ModelAdmin): |
|
|
|
|
|
|
|
force_publish.short_description = 'Zveřejnit vybraná čísla a všechny návrhy úloh v nich učinit zadanými' |
|
|
|
|
|
|
|
# Jen pro superuživatele |
|
|
|
@admin.action(permissions=['bazmek'], description='Přegenerovat výsledkovky všech deadlinů vybraných čísel') |
|
|
|
def pregeneruj_vysledkovky(self, req, qs): |
|
|
|
for cislo in qs: |
|
|
|
for deadline in cislo.deadline_v_cisle.all(): |
|
|
|
deadline.vygeneruj_vysledkovku() |
|
|
|
|
|
|
|
def has_bazmek_permission(self, request): |
|
|
|
# Boilerplate: potřebujeme nějakou permission, protože nějaká haluz v Djangu… |
|
|
|
return request.user.is_superuser |
|
|
|
|
|
|
|
|
|
|
|
@admin.register(m.Problem) |
|
|
|
class ProblemAdmin(PolymorphicParentModelAdmin): |
|
|
|