ruzne exporty resitelu - zatím určitě ne merge xd spíš potřebuji zpětnou vazbu... #89
Loading…
Reference in a new issue
No description provided.
Delete branch "export_resitelskych_dat"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Zatím to není moc učesané...
V tvorba.utils si nejsem úplně jistý těmi query sety...
html by chtělo trochu více stylů, ale UX funguje podle mě dobře...
Nějak lépe vymyslet ten enum?
also při exportu organizátorů soustředění, u některých nefunguje správně funkce str(soustředení)... Bud' dělám něco špatně, nebo testdata?
Zatím nemám zkouknuté ty „typované“ views…
@ -472,1 +522,4 @@
return response
def dataOsobCsvResponse(queryset, columns=None, with_header=True):
"""Pomocná funkce pro vracení dat osob jako CSV. Musí dostat správný QuerySet, který dává Ososby"""
Uh, pojďme ten kód neduplikovat. Co když
default_columns
afield_name_overrides
budou slovníky, které jako klíče budou mít typ objektu (personalni.models.Osoba
nebopersonalni.models.Resitel
), podle toho se ta správná věc zvolí a zbytek bude jen jeden?Přičemž klidně seznam pro Řešitele můžeme prostě odvodit ze seznamu pro Osoby kódem, to ničemu asi nevadí…)
@ -473,0 +526,4 @@
default_columns = (
'id',
'osoba__jmeno',
Tohle iirc nefunguje pro Osoby, protože už nemají field
osoba
…@ -30,0 +35,4 @@
Výstup:
QuerySet objektů typu Resitel
Nejsem si moc jistý, jestli to tak funguje... Vašek """
@zelvuska už nějak bastlil autogenerovanou dokumentaci, zkuste to asi nějak poladit, ať to dopadne nějak konzistentně (hlavně ať se případně změny stylu dají dělat na jednom místě nad (aspoň trochu) strukturovanými daty a ne všude v kódu…)
(As in: mně to je jedno a je super, že to je zdokumentované, jen to pak možná bude někde dělat bordel…)
Ale jak koukám výš, tak tam je to taky takhle… 🤷
@ -30,0 +39,4 @@
return personalni.models.Resitel.objects.filter(
reseni__hodnoceni__deadline_body__cislo=cislo
).distinct()
Tohle asi funguje (pokud to něco vrací…). Samozřejmě to naráží na to, že „kdo řešil co v nějakém čísle“ je strašně špatně definované… (Technicky je tohle dotaz na to, kdo má nějaké body zadané k nějakému deadlinu, může dávat lepší smysl se ptát na řešitele, kteří poslali řešení mezi vydáním nějakého čísla a jeho (nejzazším) deadlinem, což je o trochu přesnější ale naopak je potřeba řešit případný překryv deadlinů čísel a asi to za to nestojí…)
@ -30,0 +48,4 @@
from datetime import datetime
current_year = datetime.now().year
'''Člověk odmaturuje když je jeho rok maturity menší nebo stejný jako aktuální rok? '''
return personalni.models.Resitel.objects.filter(rok_maturity__gte=current_year)
No, člověk odmaturuje v květnu/červnu… Takže pokud je jaro, tak pokud je
rok_maturity
> aktuální, pokud je podzim, tak ≥, a pokud je červen, tak🤷je jaro, protože pro velkou část věcí nás stejně asi zajímá předěl o letních prázdninách a ne samotný okamžik maturity…