Předělání sousových views #57

Merged
zelvuska merged 11 commits from predelani_sousovych_view into master 1 month ago
Owner

Hrál jsem si se sousovými views a vznikly z toho nějaké myšlenky, které bych tu rozebíral samostatně:

  • mixin KonkretniSoustredeniMixin, který všem templatům konkrétního sousu dodává atribut self.soustredeni (aby se nemusel vždy tahat ze self.kwargs)
    • trošku zmenšuje čitelnost, ale je pohodlný (nemusí se u každého view psát mašinérie na získání toho Soustředění)
    • (aktuálně vlastně skoro zbytečný, protože ke konkrétnímu sous máme jen účastnické „seznamy“, ale do budoucna se může hodit víc)
  • view NeprazdnyListView, který ListView přidává handlování prázdného seznamu (inteligentnější než vyhodit 404)
    • ListView je bohužel moc zadrátovaný, takže v třídě NeprazdnyListView je nějaký copy-paste kód (potenciálně lze nahradit něčím jednodušším, ale méně obecným)
    • myslím, že se hodí na spoustu míst, protože často dává větší smysl vyhodit hlášku stylu „je to prázdné, naplň si to v adminu“, než vygenerovat prázdnou věc (CSV, PDF, ale i html stránku, speciálně, pokud je pro tisk)
    • zase ale přidává nějakou vrstvu, ve které se musí člověk vyznat
  • mixin TeXResponseMixin, který generalizuje generování PDF z TeXu
    • asi nejméně problematická změna
  • z funkcionálních Views se stali třídní Views (aby mohli dědit od věcí výše)
    • to zhoršilo čitelnost, na druhou stranu class based Views jsou doporučované oproti function based Views

Prefix WIP: tu je proto, že tento pull request koliduje na #56 (speciálně to mám aktuálně jako pull request do split_sous, aby byly dobře vidět změny).

Hrál jsem si se sousovými views a vznikly z toho nějaké myšlenky, které bych tu rozebíral samostatně: - mixin `KonkretniSoustredeniMixin`, který všem templatům konkrétního sousu dodává atribut `self.soustredeni` (aby se nemusel vždy tahat ze `self.kwargs`) - trošku zmenšuje čitelnost, ale je pohodlný (nemusí se u každého view psát mašinérie na získání toho Soustředění) - (aktuálně vlastně skoro zbytečný, protože ke konkrétnímu sous máme jen účastnické „seznamy“, ale do budoucna se může hodit víc) - view `NeprazdnyListView`, který `ListView` přidává handlování prázdného seznamu (inteligentnější než vyhodit 404) - `ListView` je bohužel moc zadrátovaný, takže v třídě `NeprazdnyListView` je nějaký copy-paste kód (potenciálně lze nahradit něčím jednodušším, ale méně obecným) - myslím, že se hodí na spoustu míst, protože často dává větší smysl vyhodit hlášku stylu „je to prázdné, naplň si to v adminu“, než vygenerovat prázdnou věc (CSV, PDF, ale i html stránku, speciálně, pokud je pro tisk) - zase ale přidává nějakou vrstvu, ve které se musí člověk vyznat - mixin `TeXResponseMixin`, který generalizuje generování PDF z TeXu - asi nejméně problematická změna - z funkcionálních Views se stali třídní Views (aby mohli dědit od věcí výše) - to zhoršilo čitelnost, na druhou stranu class based Views jsou doporučované oproti function based Views Prefix `WIP:` tu je proto, že tento pull request koliduje na [#56](https://gitea.ks.matfyz.cz/mam/mamweb/pulls/56) (speciálně to mám aktuálně jako pull request do `split_sous`, aby byly dobře vidět změny).
zelvuska added 13 commits 5 months ago
zelvuska changed target branch from master to split_sous 5 months ago
Poster
Owner

Možná někam napsat, že object_list je list objektů třídy Soustredeni_Ucastnici, protože na sobě mají ještě navíc poznámku (k danému účastníkovi na daný sous)?

Možná někam napsat, že `object_list` je list objektů třídy `Soustredeni_Ucastnici`, protože na sobě mají ještě navíc poznámku (k danému účastníkovi na daný sous)?
zelvuska added 2 commits 5 months ago
zelvuska added 16 commits 5 months ago
zelvuska added 1 commit 5 months ago
zelvuska closed this pull request 2 months ago
zelvuska reopened this pull request 2 months ago
zelvuska changed target branch from split_sous to master 2 months ago
zelvuska changed title from WIP: Předělání sousových views to Předělání sousových views 2 months ago
zelvuska added 1 commit 2 months ago
446515a52e Merge branch 'master' into predelani_sousovych_view
zelvuska added 1 commit 2 months ago
zelvuska added 1 commit 2 months ago
ledoian reviewed 2 months ago
response = HttpResponse(content_type='text/csv')
response['Content-Disposition'] = 'attachment; filename="ucastnici.csv"'
writer = csv.writer(response)
Poster
Owner

Nemám to teď nacachované, ale pročže nepoužijeme generický export řešitelů, který máme už u výsledkovek?

Nemám to teď nacachované, ale pročže nepoužijeme generický export řešitelů, který máme už u výsledkovek?
Poster
Owner

Protože to takhle už bylo (tj. není to předmětem tohodle pullrequestu). Teď bych to nechal a můžem upravit časem.

Protože to takhle už bylo (tj. není to předmětem tohodle pullrequestu). Teď bych to nechal a můžem upravit časem.
zelvuska marked this conversation as resolved
ledoian reviewed 2 months ago
s titlem `self.if_prazdny_title` a textem `self.if_prazdny_text`
a způsob renderování (např. CSV) lze změnit přepsáním metody render.
"""
allow_empty = False
Poster
Owner

Tohle je naše věc, nebo něco co využívá ListView interně?

Tohle je naše věc, nebo něco co využívá `ListView` interně?
zelvuska marked this conversation as resolved
ledoian reviewed 2 months ago
nebo jiný seznam absolutních cest).
"""
dalsi_potrebne_soubory = []
tex = "pdflatex"
Poster
Owner

Navrhuju spíš pojmenovat tex_command nebo i česky tex_prikaz.

Navrhuju spíš pojmenovat `tex_command` nebo i česky `tex_prikaz`.
zelvuska marked this conversation as resolved
Owner

Asi OK, i guess. Principiálně to věci podle mě nezhoršuje, za sebe tam zas tak moc zesložitění nevidím (ale nemám optiku nových webařů…). Neříkám, že vidím úplně moc užitečnost (která další PDF kromě obálek a stvrzenek web vůbec výhledově bude generovat?), ale třeba nás to aspoň motivuje implementovat věci ve webu a ne úplně ad hoc jinde (kontaktníček, pozvánky pro sous, …) :-D

Asi OK, i guess. Principiálně to věci podle mě nezhoršuje, za sebe tam zas tak moc zesložitění nevidím (ale nemám optiku nových webařů…). Neříkám, že vidím úplně moc užitečnost (která další PDF kromě obálek a stvrzenek web vůbec výhledově bude generovat?), ale třeba nás to aspoň motivuje implementovat věci ve webu a ne úplně ad hoc jinde (kontaktníček, pozvánky pro sous, …) :-D
zelvuska added 1 commit 1 month ago
zelvuska added 1 commit 1 month ago
zelvuska merged commit 5883a5cd28 into master 1 month ago
zelvuska deleted branch predelani_sousovych_view 1 month ago
The pull request has been merged as 5883a5cd28.
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

This pull request currently doesn't have any dependencies.

Loading…
There is no content yet.