Vylepšení odevzdávátka #13

Merged
zelvuska merged 17 commits from vylepseni_odevzdavatka into master 2023-01-02 20:25:01 +01:00
Showing only changes of commit f2764a26f3 - Show all commits

View file

@ -12,7 +12,13 @@
<p>Řešené problémy: {{ object.problem.all | join:", " }}</p>
<p>Řešitelé: {% for r in object.resitele.all %}{{ r }}{# mailto -> #}{% if edit %} (<a href="mailto:{{ r.osoba.email }}?subject={{ "Oprava řešení M&M " | urlencode }}{{ object.problem.all.0.hlavni_problem | urlencode }}">{{ r.osoba.email }}</a>){% endif %}{# <- mailto #}{# čárky -> #}{% if forloop.revcounter0 != 0 %}, {% endif %}{# <- čárky #}{% endfor %}</p>
{% if edit %}

Přijde mi lepší se nesnažit všechno nacpat na jeden řádek. To HTML se vykreslí stejně a v tomhle se mi špatně orientuje…

Přijde mi lepší se nesnažit všechno nacpat na jeden řádek. To HTML se vykreslí stejně a v tomhle se mi špatně orientuje…

No až na to, že tam přibydou mezery. Nechceš to nasekat ty?

No až na to, že tam přibydou mezery. Nechceš to nasekat ty?

Sice nevím, kde přibudou mezery, kouknu na testweb, ale pak to klidně nasekám…

Sice nevím, kde přibudou mezery, kouknu na testweb, ale pak to klidně nasekám…

Na testwebu to aktuálně běží…

Na testwebu to aktuálně běží…

LGTM

LGTM

Za mě všechno, nasekáš to?

Za mě všechno, nasekáš to?

Klidně to mergni, nasekám, ale možná to o pár desítek minut odložím (a když na to zapomenu úplně, tak to bolet taky nebude…)

Klidně to mergni, nasekám, ale možná to o pár desítek minut odložím (a když na to zapomenu úplně, tak to bolet taky nebude…)

Na jak velkou míru enterprise kódu míříme? DjangoTemplates jsou trochu na palici a těch mezer kvůli odřádkování se neumí zbavit, ale skoro určitě se to dá obejít pomocí triviálního filtru, takže by se pak dalo použít něco jako {{ o | withemail }}, což by rovnou udělalo tu výslednou věc a ten kód by byl přehlednější, ač na jednom řádku.

Ale znamená to mít k tomu ještě kousek kódu vedle.

Alternativně se něco takového dá spočítat už ve view, což se ale bude motat s výkonným kódem, který už tak je nejspíš na spodní hranici přehlednosti…

(A nebo se smíříme s tím, že ten řádek nejde tak jednoduše přečíst. Ostatně, nebyl by první – výsledkovky v TeXu trpí stejným problémem…)

Možná se mi podaří tam dát aspoň pár málo odřádkování, ale těžko odhadnout…

Na jak velkou míru enterprise kódu míříme? DjangoTemplates jsou trochu na palici a těch mezer kvůli odřádkování se neumí zbavit, ale skoro určitě se to dá obejít pomocí triviálního filtru, takže by se pak dalo použít něco jako `{{ o | withemail }}`, což by rovnou udělalo tu výslednou věc a ten kód by byl přehlednější, ač na jednom řádku. Ale znamená to mít k tomu ještě kousek kódu vedle. Alternativně se něco takového dá spočítat už ve view, což se ale bude motat s výkonným kódem, který už tak je nejspíš na spodní hranici přehlednosti… (A nebo se smíříme s tím, že ten řádek nejde tak jednoduše přečíst. Ostatně, nebyl by první – výsledkovky v TeXu trpí stejným problémem…) Možná se mi podaří tam dát aspoň pár málo odřádkování, ale těžko odhadnout…

Co takhle?

Co takhle?

👎 Pořád je to na jednom řádku a teď tam navíc překážejí komentáře.

👎 Pořád je to na jednom řádku a teď tam navíc překážejí komentáře.

Tak to nechávám na tobě, protože na tohle máš očividně daleko vyšší nároky (mě to totiž ty komentáře naopak hezky oddělují…).

Tak to nechávám na tobě, protože na tohle máš očividně daleko vyšší nároky (mě to totiž ty komentáře naopak hezky oddělují…).

Nebo mě ještě napadlo tohle…

Nebo mě ještě napadlo tohle…

Případně ještě něco jako

    {% for r in object.resitele.all %}{{ r }} (<a
        href="mailto:{{ r.osoba.email }}?subject={{ "Oprava řešení M&M " | urlencode }}{{ object.problem.all.0.hlavni_problem | urlencode }}">{{ r.osoba.email }}</a
    >){% if forloop.revcounter0 != 0 %}, {% endif %}{% endfor %}

čímž celý e-mail bude na jednom řádku, ale zase je to dost nahouby z pohledu tagů

Případně ještě něco jako ``` {% for r in object.resitele.all %}{{ r }} (<a href="mailto:{{ r.osoba.email }}?subject={{ "Oprava řešení M&M " | urlencode }}{{ object.problem.all.0.hlavni_problem | urlencode }}">{{ r.osoba.email }}</a >){% if forloop.revcounter0 != 0 %}, {% endif %}{% endfor %} ``` čímž celý e-mail bude na jednom řádku, ale zase je to dost nahouby z pohledu tagů

Případně

    {% for r in object.resitele.all %}{{ r }} (<a
      href="mailto:{{ r.osoba.email }}?subject={{ "Oprava řešení M&M " | urlencode }}{{ object.problem.all.0.hlavni_problem | urlencode }}"
      >{{ r.osoba.email }}</a
    >){% if forloop.revcounter0 != 0 %}, {% endif %}{% endfor %}

nebo

    {% for r in object.resitele.all %}{{ r }} (<a
      href="mailto:{{ r.osoba.email }}?subject={{ "Oprava řešení M&M " | urlencode }}{{ object.problem.all.0.hlavni_problem | urlencode }}"
      >{{ r.osoba.email }}</a>){% if forloop.revcounter0 != 0 %}, {% endif %}{% endfor %}
Případně ``` {% for r in object.resitele.all %}{{ r }} (<a href="mailto:{{ r.osoba.email }}?subject={{ "Oprava řešení M&M " | urlencode }}{{ object.problem.all.0.hlavni_problem | urlencode }}" >{{ r.osoba.email }}</a >){% if forloop.revcounter0 != 0 %}, {% endif %}{% endfor %} ``` nebo ``` {% for r in object.resitele.all %}{{ r }} (<a href="mailto:{{ r.osoba.email }}?subject={{ "Oprava řešení M&M " | urlencode }}{{ object.problem.all.0.hlavni_problem | urlencode }}" >{{ r.osoba.email }}</a>){% if forloop.revcounter0 != 0 %}, {% endif %}{% endfor %} ```
<p>Řešitelé:
{% for r in object.resitele.all %}{{ r }}(<a href="mailto:{{ r.osoba.email }}?subject={{ "Oprava řešení M&M " | urlencode }}{{ object.problem.all.0.hlavni_problem | urlencode }}">{{ r.osoba.email }}</a>){% if forloop.revcounter0 != 0 %}, {% endif %}{% endfor %}
</p>
{% else %}
<p>Řešitelé: {{ object.resitele.all | join:", " }}</p>
{% endif %}
zelvuska marked this conversation as resolved
Review

Pardon, snažil jsem se nějak dostat sem do konverzace aktuální stav těch 5 řádků, ale asi to neumím.

Pardon, snažil jsem se nějak dostat sem do konverzace aktuální stav těch 5 řádků, ale asi to neumím.
{# https://docs.djangoproject.com/en/3.1/ref/models/instances/#django.db.models.Model.get_FOO_display #}
<p>Forma: {{ object.get_forma_display }}</p>