Výroční sraz M&M #32

Merged
zelvuska merged 12 commits from vyroci into master 2023-06-15 16:57:27 +02:00
Owner
No description provided.
zelvuska added 1 commit 2023-06-02 21:07:41 +02:00
zelvuska added 2 commits 2023-06-02 21:31:03 +02:00
zelvuska added 1 commit 2023-06-02 21:33:21 +02:00
zelvuska added 1 commit 2023-06-02 21:36:41 +02:00
zelvuska reviewed 2023-06-02 21:41:11 +02:00
@ -0,0 +8,4 @@
<p>Rádi bychom Tě pozvali na plánovaný M&Mí sraz, kde nalezneš možnost se setkat se současnými organizátory a účastníky, minulými organizátory a účastníky, předminulými organizátory a účastníky, předpředminulými organizátory a účastníky a jinými M&Mími legendami.</p>
<p>Těšit se můžeš na zábavnou akci pro všechny věkové kategorie. Pokud máš chuť se zúčastnit, tak neváhej a vyplň přihlašovací formulář níže (pokud plánuješ přijet jen na část víkendu, nebo s sebou někoho vzít třeba děti, tak to napiš do poznámky). Podrobnější informace o akci budeme rozesílat přibližně dva týdny před akci.</p>
Author
Owner

Nakonci „akcí“ místo „akci“.

Nakonci „akcí“ místo „akci“.
zelvuska marked this conversation as resolved
zelvuska reviewed 2023-06-02 21:43:34 +02:00
vyroci/models.py Outdated
@ -0,0 +6,4 @@
class UcastnikVyroci(models.Model):
jmeno = models.CharField(
"Jméno a přijmení", max_length=256, blank=False, null=False,
Author
Owner

„příjmení“

„příjmení“
zelvuska marked this conversation as resolved
zelvuska reviewed 2023-06-02 21:45:33 +02:00
@ -0,0 +16,4 @@
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('jmeno', models.CharField(help_text='Občanská identifikace účastníka víkendovky', max_length=256, verbose_name='Jméno a přijmení')),
('prezdivka', models.CharField(help_text='Veřejná identifikace účastníka víkendovky', max_length=256, verbose_name='Přezdívka')),
Author
Owner

Zveřejňovaná

Zveřejňovaná
Author
Owner

Možná „Přezdívka (bude výše)“

Možná „Přezdívka (bude výše)“
zelvuska marked this conversation as resolved
zelvuska reviewed 2023-06-02 21:47:30 +02:00
vyroci/views.py Outdated
@ -0,0 +20,4 @@
def form_valid(self, form):
form.save()
return formularOKView(self.request, "Úspěšně jsi se přihlásil na víkendovku")
Author
Owner

„ses přihlásil na sraz“

„ses přihlásil na sraz“
zelvuska marked this conversation as resolved
Author
Owner

Asi bych počítal s tím, že po víkendovce se tato aplikace zase smaže (ať nám tam nestraší, stejně je v gitu)…

Takže se asi nemusíme snažit, aby to byl nějaký „hezký“ kód…

Asi bych počítal s tím, že po víkendovce se tato aplikace zase smaže (ať nám tam nestraší, stejně je v gitu)… Takže se asi nemusíme snažit, aby to byl nějaký „hezký“ kód…
ledoian approved these changes 2023-06-13 19:12:15 +02:00
ledoian left a comment
Owner

Jestli to funguje, tak vesměs LGTM. Dvě věci bych změnil, totiž délku textových polí (zkopírovat třeba z poznámek z korekturovátka), a schování adres do separátní složky, ať nejsou v kořeni…

Četl jsem to spíš zběžně, ale asi to moc víc není potřeba.

Jestli to funguje, tak vesměs LGTM. Dvě věci bych změnil, totiž délku textových polí (zkopírovat třeba z poznámek z korekturovátka), a schování adres do separátní složky, ať nejsou v kořeni… Četl jsem to spíš zběžně, ale asi to moc víc není potřeba.
mamweb/urls.py Outdated
@ -69,2 +69,4 @@
# path('api/', include(router.urls)),
# Výroční sraz
path('', include('vyroci.urls')),
Owner

Nechceš tomu radši vyrobit složku? Přijde mi, že zrovna tohle nemusí úplně plevelit kořenovou cestu, když je to jednorázová akce prakticky bez jakýchkoliv dalších souvislostí. A klidně i jako org-sraz nebo dokonce sraz-30-let, ať nám kdyžtak zbyde /sraz na nějaké častější aktivity (resp. ať až se to zruší nevzniknou falešně oživené odkazy, které ale povedou někam jinam)

Nechceš tomu radši vyrobit složku? Přijde mi, že zrovna tohle nemusí úplně plevelit kořenovou cestu, když je to jednorázová akce prakticky bez jakýchkoliv dalších souvislostí. A klidně i jako `org-sraz` nebo dokonce `sraz-30-let`, ať nám kdyžtak zbyde `/sraz` na nějaké častější aktivity (resp. ať až se to zruší nevzniknou falešně oživené odkazy, které ale povedou někam jinam)
zelvuska marked this conversation as resolved
@ -0,0 +9,4 @@
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
for field in ["kdy", "cojemam", "cislo", "dodat"]:
Owner

Neumí se tohle nějak odkázat na vlastní fieldy? Čekal bych tam nějaké self.fields. (Ale asi je to dost šumák, stejně se to jednou napíše, jednou použije a pak jednou možná smaže, takže je to spíš možnost se naučit nové triky s Djangem než potřeba upravit…)

Neumí se tohle nějak odkázat na vlastní fieldy? Čekal bych tam nějaké `self.fields`. (Ale asi je to dost šumák, stejně se to jednou napíše, jednou použije a pak jednou možná smaže, takže je to spíš možnost se naučit nové triky s Djangem než potřeba upravit…)
Owner

Aha, to je jen podmnožina fieldů. OK then…

Aha, to je jen podmnožina fieldů. OK then…
ledoian marked this conversation as resolved
@ -0,0 +21,4 @@
('kdy', models.TextField(max_length=256, verbose_name='Řešil nebo organizoval jsi M&M? Kdy?')),
('cojemam', models.TextField(max_length=256, verbose_name='Co znamená M&M (a proč)?')),
('cislo', models.TextField(max_length=256, verbose_name='Co v M&Mí historii značí číslo 265252859812191058636308480000000?')),
('dodat', models.TextField(blank=True, max_length=256, null=True, verbose_name='Co chci ještě dodat?')),
Owner

Tyhle fieldy vůbec nemusejí být krátké. Zvlášť dodat je potenciálně dlouhé a může mít i víc, než 256 znaků. (Pro srovnání, tenhle komentář sám o sobě má 188 znaků, resp. 214 bytů v UTF-8.)

Tyhle fieldy vůbec nemusejí být krátké. Zvlášť dodat je potenciálně dlouhé a může mít i víc, než 256 znaků. (Pro srovnání, tenhle komentář sám o sobě má 188 znaků, resp. 214 bytů v UTF-8.)
Owner

Jo, a tenhle komentář se spíš týká modelu než migrace, ale podruhé se mi ho psát nechce :-) (103 znaků)

Jo, a tenhle komentář se spíš týká modelu než migrace, ale podruhé se mi ho psát nechce :-) (103 znaků)
zelvuska marked this conversation as resolved
@ -0,0 +13,4 @@
<ul>
<li> Kdy: pátek 22. neděle 24. 9. 2023 </li>
<li> Kde: <a href="https://borovice.cz/inzerat/2587-zakladna-pratel-prirody-upirci-2">Klubovna Upírků v Libčicích n.V.</a></li>
<li> Kdo jede: Káťa, (R)adim{% for ucastnik in ucastnici %}, {{ ucastnik.prezdivka }}{% endfor %}</li>
Owner

Nevím, jaká je dohoda, ale možná je spíš žádoucí, aby byli všichni účastníci v databázi, protože jinak se na Káťu a (R)adima bude snadno zapomínat a nebude to vidět.

Klidně bych je rovnou přidal v rámci migrace (a do kontextu pak klidně narval seznam_ucastniku = ', '.join(u.prezdivka for u in ucastnici)

Nevím, jaká je dohoda, ale možná je spíš žádoucí, aby byli všichni účastníci v databázi, protože jinak se na Káťu a (R)adima bude snadno zapomínat a nebude to vidět. Klidně bych je rovnou přidal v rámci migrace (a do kontextu pak klidně narval `seznam_ucastniku = ', '.join(u.prezdivka for u in ucastnici)`
Author
Owner

Přijde mi, že jednodušší bude je tam naházet ručně po nasazení…

Přijde mi, že jednodušší bude je tam naházet ručně po nasazení…
Owner

Klidně, když se na to nezapomene (nebo když těm dvěma někdo řekne, že se mají prostě normálně zaregistrovat), spíš mi jde o to, aby tady nebyli nahardcodění, protože „určitě pojedou“.

Klidně, když se na to nezapomene (nebo když těm dvěma někdo řekne, že se mají prostě normálně zaregistrovat), spíš mi jde o to, aby tady nebyli nahardcodění, protože „určitě pojedou“.
zelvuska marked this conversation as resolved
@ -0,0 +48,4 @@
</table>
{% csrf_token %}
{{form.non_field_errors}}
Owner

Non-field errors bych čekal spíš nahoře než dole…

Non-field errors bych čekal spíš nahoře než dole…
zelvuska marked this conversation as resolved
@ -0,0 +53,4 @@
<input type="submit" value="Přihlásit se!">
</form>
{% endblock content %}
Owner

Template prohlížím jen zběžně, pokud to dobře vypadá (i ve Chrome a Edgi :-P), tak je mi asi jedno, jak to vypadá…

Template prohlížím jen zběžně, pokud to dobře vypadá (i ve Chrome a Edgi :-P), tak je mi asi jedno, jak to vypadá…
zelvuska marked this conversation as resolved
@ -0,0 +15,4 @@
<th>Něco dodat?</th>
</tr>
{% for obj in ucastnikvyroci_list %}
Owner

Tohle funguje? Měl jsem za to, že ListView vyrábí v kontextu object_list… (A možná bych to malinko preferoval, kvůli konzistenci; byť by asi rozumné naopak bylo plošně všechny object_list přepsat na to, seznamy čeho to reálně jsou. Asi spíš výhledově, do Kanboardu…)

Jo, a když už jsme u toho, tak bych neobjektifikoval účastníky a tu iterační proměnou pojmenoval třeba u. Ale taky je to spíš taková poznámka, která by se spíš týkala nějaké dlouhodobější stránky, než téhle…

Tohle funguje? Měl jsem za to, že `ListView` vyrábí v kontextu `object_list`… (A možná bych to malinko preferoval, kvůli konzistenci; byť by asi rozumné naopak bylo plošně všechny `object_list` přepsat na to, seznamy čeho to reálně jsou. Asi spíš výhledově, do Kanboardu…) Jo, a když už jsme u toho, tak bych neobjektifikoval účastníky a tu iterační proměnou pojmenoval třeba `u`. Ale taky je to spíš taková poznámka, která by se spíš týkala nějaké dlouhodobější stránky, než téhle…
zelvuska marked this conversation as resolved
zelvuska added 5 commits 2023-06-13 22:47:29 +02:00
Takhle se to nedělá, ale ještě to není nikde nasazené, tak je to asi v pohodě
Takhle se to nedělá, ale ještě to není nikde nasazené, tak je to asi v pohodě
ledoian reviewed 2023-06-13 23:12:17 +02:00
vyroci/urls.py Outdated
@ -0,0 +10,4 @@
name='vyrocni_sraz'
),
path(
'30-let_vysledky/',
Owner

Ale ne, to jsme se nepochopili… Měl jsem na mysli, že by celý sraz bydlel v nějaké hlubině, typu mam.mff.cuni.cz/sraz-30let/ a tam už by byly jednoduché cesty – adresa bez dalšího suffixu (tj. tady by byl záznam pro prázdný řetězec) by vedla na tu hlavní stránku a pak třeba mam.….cz/sraz-30let/ucastnici by vedlo na seznam přihlášených účastníků.

Ten hlavní point je, že si nezabiješ adresu mam.….cz/<něco užitečného> touhle jednorázovou věcí, protože pokud by se někdo někdy rozhodl, že chce stránky i pro účastnické srazy (mam.….cz/srazy/nebeska-rybna-2023), tak tam tohle bude překážet¹. (Vzhledem k tomu, jak to bastlíme, bych fakt nečekal, že se někdo bude snažit aplikaci vyroci zobecnit pro libovolné další použití)

Navíc možná může být žádoucí, aby stránka téhle akce existovala na stejné adrese ještě dalších 30 let, aby si to mohli orgové připomínat (zvlášť, pokud bychom tam někde měli nějaké další materiály z akce nebo něco podobného).

A taky mi přijde, že i seznam účastníků (IMO to fakt nejsou výsledky) sémanticky patří do „složky“ (stejného segmentu cesty) toho srazu, tedy že mají být někde pod tím, ne „vedle“.

Řetězec sraz-30let se může změnit, případně by asi šlo to vyloženě schovat do něčeho jako /srazy/org30let/, ale pozor na to, že tím by se opět zabetonovala cestová hierarchie (i.e. pokud se někdy někdo rozhodne, že pro případný účastnický sraz chce spíš adresu mam.….cz/sraz/nebeska-rybna-2023, tak pak vzniknou vedle sebe složky /sraz/ i /srazy/ a bude to mást orgy a webaře a nic s tím nepůjde (bez rozbití odkazů) udělat. Pokud první segment cesty bude něco hodně specifického (sraz-30let asi splňuje), tak je malá šance, že to s něčím bude kolidovat a tedy že může vzniknout potřeba to přesouvat.)

A zároveň tím, že to bude mít v hlavních urls.py vynucený vlastní prefix cesty, tak bude zřejmé, odkud se to bere, narozdíl od includu na prázdnou cestu, ke kterým je netriviální dohledat URLconf záznam (a tedy tranzitivně i view).

¹Jo, jsem si vědom toho, že můžeš pak napsat path('', include(…)) do aplikace pro výročí, ale to už je evidentní prasárna a nepůjde se v tom vyznat.

Ale ne, to jsme se nepochopili… Měl jsem na mysli, že by celý sraz bydlel v nějaké hlubině, typu `mam.mff.cuni.cz/sraz-30let/` a tam už by byly jednoduché cesty – adresa bez dalšího suffixu (tj. tady by byl záznam pro prázdný řetězec) by vedla na tu hlavní stránku a pak třeba `mam.….cz/sraz-30let/ucastnici` by vedlo na seznam přihlášených účastníků. Ten hlavní point je, že si nezabiješ adresu `mam.….cz/<něco užitečného>` touhle jednorázovou věcí, protože pokud by se někdo někdy rozhodl, že chce stránky i pro účastnické srazy (`mam.….cz/srazy/nebeska-rybna-2023`), tak tam tohle bude překážet¹. (Vzhledem k tomu, jak to bastlíme, bych fakt nečekal, že se někdo bude snažit aplikaci `vyroci` zobecnit pro libovolné další použití) Navíc možná může být žádoucí, aby stránka téhle akce existovala na stejné adrese ještě dalších 30 let, aby si to mohli orgové připomínat (zvlášť, pokud bychom tam někde měli nějaké další materiály z akce nebo něco podobného). A taky mi přijde, že i seznam účastníků (IMO to fakt nejsou výsledky) sémanticky patří do „složky“ (stejného segmentu cesty) toho srazu, tedy že mají být někde pod tím, ne „vedle“. Řetězec `sraz-30let` se může změnit, případně by asi šlo to vyloženě schovat do něčeho jako `/srazy/org30let/`, ale pozor na to, že tím by se opět zabetonovala cestová hierarchie (i.e. pokud se někdy někdo rozhodne, že pro případný účastnický sraz chce spíš adresu `mam.….cz/sraz/nebeska-rybna-2023`, tak pak vzniknou vedle sebe složky `/sraz/` i `/srazy/` a bude to mást orgy a webaře a nic s tím nepůjde (bez rozbití odkazů) udělat. Pokud první segment cesty bude něco hodně specifického (`sraz-30let` asi splňuje), tak je malá šance, že to s něčím bude kolidovat a tedy že může vzniknout potřeba to přesouvat.) A zároveň tím, že to bude mít v hlavních `urls.py` vynucený vlastní prefix cesty, tak bude zřejmé, odkud se to bere, narozdíl od includu na prázdnou cestu, ke kterým je netriviální dohledat URLconf záznam (a tedy tranzitivně i view). ¹Jo, jsem si vědom toho, že můžeš pak napsat `path('', include(…))` do aplikace pro výročí, ale to už je evidentní prasárna a nepůjde se v tom vyznat.
Owner

Možná napíšu patch, ono bude zřejmější, jak to myslím, v kódu a ne to tady rozepisovat (byť argumenty zůstanou tady…)

Možná napíšu patch, ono bude zřejmější, jak to myslím, v kódu a ne to tady rozepisovat (byť argumenty zůstanou tady…)
Owner

!33

!33
zelvuska added 1 commit 2023-06-15 13:26:55 +02:00
zelvuska added 1 commit 2023-06-15 16:56:25 +02:00
zelvuska changed title from WIP: Výroční sraz M&M to Výroční sraz M&M 2023-06-15 16:56:35 +02:00
zelvuska merged commit b14395f91a into master 2023-06-15 16:57:27 +02:00
zelvuska deleted branch vyroci 2023-06-15 17:10:14 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: mam/mamweb#32
No description provided.