odevzdavatko¶
Obsahuje vše, co se týká odevzdávání (+ nahrávání) a opravování řešení řešitelů.
- Slovníček:
Moje řešení = Přehled řešení = Řešení, která odevzdal aktuálního uživatel sám. Došlá řešení = Tabulka + seznam + detail + … = Řešení, která poslal někdo jiný. Poslat řešení = Odevdat mé řešení. (Tj. řešení se vztahem k aktuálnímu uživateli.) Nahrát řešení = Nahrání řešení bez vztahu k aktuálnímu uživateli.
TODO: Místo vložit řešení v nahrávání a posílání řešení dát něco jiného?
odevzdavatko.admin¶
Soubor sloužící k definici toho, co bude v adminu. Většinou pouhým zavoláním
funkce django.contrib.admin.site.register()
, v případě, že chceme něco
upravit, tak jako třída rozšiřující django.contrib.admin.ModelAdmin
s dekorátorem django.contrib.admin.register()
.
- class odevzdavatko.admin.PrilohaReseniInline(parent_model, admin_site)[zdroj]¶
Bases:
TabularInline
- model¶
alias of
PrilohaReseni
- extra = 1¶
- property media¶
- class odevzdavatko.admin.Reseni_ResiteleInline(parent_model, admin_site)[zdroj]¶
Bases:
TabularInline
- model¶
alias of
Reseni_Resitele
- property media¶
odevzdavatko.apps¶
Soubor sloužící k pojmenování a jiným nastavením djangovské aplikace.
odevzdavatko.forms¶
- class odevzdavatko.forms.DateInput(attrs=None, format=None)[zdroj]¶
Bases:
DateInput
- input_type = 'date'¶
- property media¶
- class odevzdavatko.forms.PosliReseniForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)[zdroj]¶
Bases:
Form
- base_fields = {'cas_doruceni': <django.forms.fields.DateField object>, 'forma': <django.forms.fields.ChoiceField object>, 'poznamka': <django.forms.fields.CharField object>, 'problem': <django.forms.models.ModelChoiceField object>, 'resitel': <django.forms.models.ModelChoiceField object>}¶
- declared_fields = {'cas_doruceni': <django.forms.fields.DateField object>, 'forma': <django.forms.fields.ChoiceField object>, 'poznamka': <django.forms.fields.CharField object>, 'problem': <django.forms.models.ModelChoiceField object>, 'resitel': <django.forms.models.ModelChoiceField object>}¶
- property media¶
- class odevzdavatko.forms.NahrajReseniForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, instance=None, use_required_attribute=None, renderer=None)[zdroj]¶
Bases:
ModelForm
- class Meta[zdroj]¶
Bases:
object
- fields = ('problem',)¶
- help_texts = {'problem': ''}¶
- widgets = {'problem': <dal_select2.widgets.ModelSelect2Multiple object>}¶
- base_fields = {'problem': <django.forms.models.ModelMultipleChoiceField object>}¶
- declared_fields = {}¶
- property media¶
- class odevzdavatko.forms.JednoHodnoceniForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, instance=None, use_required_attribute=None, renderer=None)[zdroj]¶
Bases:
ModelForm
- class Meta[zdroj]¶
Bases:
object
- fields = ('problem', 'body', 'deadline_body', 'feedback')¶
- widgets = {'feedback': <django.forms.widgets.Textarea object>, 'problem': <dal_select2.widgets.ModelSelect2 object>}¶
- base_fields = {'body': <django.forms.fields.DecimalField object>, 'deadline_body': <django.forms.models.ModelChoiceField object>, 'feedback': <django.forms.fields.CharField object>, 'problem': <django.forms.models.ModelChoiceField object>}¶
- declared_fields = {}¶
- property media¶
- class odevzdavatko.forms.PoznamkaReseniForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, instance=None, use_required_attribute=None, renderer=None)[zdroj]¶
Bases:
ModelForm
- base_fields = {'poznamka': <django.forms.fields.CharField object>}¶
- declared_fields = {}¶
- property media¶
- class odevzdavatko.forms.OdevzdavatkoTabulkaFiltrForm(*args, rocnik=None, **kwargs)[zdroj]¶
Bases:
Form
Form pro filtrování přehledové odevzdávátkové tabulky
Inspirováno https://kam.mff.cuni.cz/mffzoom/
- RESITELE_RELEVANTNI = 'relevantni'¶
- RESITELE_NEODMATUROVAVSI = 'neodmaturovavsi'¶
- RESITELE_CHOICES = [('relevantni', 'Relevantní řešitelé'), ('neodmaturovavsi', 'Všichni bez maturity')]¶
- PROBLEMY_MOJE = 'moje'¶
- PROBLEMY_LETOSNI = 'letosni'¶
- PROBLEMY_CHOICES = [('moje', 'Moje problémy'), ('letosni', 'Všechny letošní')]¶
- base_fields = {'neobodovane': <django.forms.fields.BooleanField object>, 'problemy': <django.forms.fields.ChoiceField object>, 'reseni_do': <django.forms.fields.DateField object>, 'reseni_od': <django.forms.fields.DateField object>, 'resitele': <django.forms.fields.ChoiceField object>}¶
- declared_fields = {'neobodovane': <django.forms.fields.BooleanField object>, 'problemy': <django.forms.fields.ChoiceField object>, 'reseni_do': <django.forms.fields.DateField object>, 'reseni_od': <django.forms.fields.DateField object>, 'resitele': <django.forms.fields.ChoiceField object>}¶
- property media¶
odevzdavatko.urls¶
Soubor sloužící jako „router“, tj. zde se definují url adresy a na co ukazují:
org/add_solution
(seminar_vloz_reseni)PosliReseniView
resitel/nahraj_reseni
(seminar_nahraj_reseni)NahrajReseniView
resitel/odevzdana_reseni/
(seminar_resitel_odevzdana_reseni)PrehledOdevzdanychReseni
org/reseni/
(odevzdavatko_tabulka)TabulkaOdevzdanychReseniView
org/reseni/rocnik/<int:rocnik>/
(odevzdavatko_tabulka)TabulkaOdevzdanychReseniView
org/reseni/<int:problem>/<int:resitel>/
(odevzdavatko_reseni_resitele_k_problemu)ReseniProblemuView
org/reseni/<int:pk>/
(odevzdavatko_detail_reseni)viewMethodSwitch()
+DetailReseniView
+hodnoceniReseniView()
org/reseni/all
SeznamReseniView
org/reseni/akt
TabulkaOdevzdanychReseniView
resitel/reseni/<int:pk>
(odevzdavatko_resitel_reseni)ResitelReseniView
odevzdavatko.views¶
- class odevzdavatko.views.SouhrnReseni(pocet_reseni: int, posledni_odevzdani: datetime, body: float)[zdroj]¶
Bases:
object
Dataclass reprezentující data o odevzdaných řešeních pro zobrazení v tabulce.
- class odevzdavatko.views.TabulkaOdevzdanychReseniView(**kwargs)[zdroj]¶
Bases:
ListView
- template_name = 'odevzdavatko/tabulka.html'¶
- class odevzdavatko.views.ReseniProblemuView(**kwargs)[zdroj]¶
Bases:
MultipleObjectTemplateResponseMixin
,MultipleObjectMixin
,View
- template_name = 'odevzdavatko/seznam.html'¶
- class odevzdavatko.views.DetailReseniView(**kwargs)[zdroj]¶
Bases:
DetailView
- template_name = 'odevzdavatko/detail.html'¶
- class odevzdavatko.views.ResitelReseniView(**kwargs)[zdroj]¶
Bases:
DetailView
- template_name = 'odevzdavatko/detail_resitele.html'¶
- class odevzdavatko.views.PrehledOdevzdanychReseni(**kwargs)[zdroj]¶
Bases:
ListView
- template_name = 'odevzdavatko/prehled_reseni.html'¶
- class odevzdavatko.views.SeznamReseniView(**kwargs)[zdroj]¶
Bases:
ListView
- template_name = 'odevzdavatko/seznam.html'¶
- class odevzdavatko.views.SeznamAktualnichReseniView(**kwargs)[zdroj]¶
Bases:
SeznamReseniView
- class odevzdavatko.views.PosliReseniView(**kwargs)[zdroj]¶
Bases:
LoginRequiredMixin
,FormView
- template_name = 'odevzdavatko/posli_reseni.html'¶
- form_class¶
alias of
PosliReseniForm
- class odevzdavatko.views.NahrajReseniView(**kwargs)[zdroj]¶
Bases:
LoginRequiredMixin
,CreateView
- template_name = 'odevzdavatko/nahraj_reseni.html'¶
- form_class¶
alias of
NahrajReseniForm