Tag pro odkazy na poslání mailu #22

Merged
ledoian merged 7 commits from maillink into master 1 year ago
ledoian commented 1 year ago
Owner

Jednoduchý tag na generování mailto: odkazů.

Je potřeba ještě:

  • oddělit i tag {% mailurl %} (viz commit message)
  • ověřit, že odpovídá RFC 6068
  • použít i v produkčním template (typicky odevzdavatko/detail.html, čímž se vyřeší zalámání z !13)

(… a možná ještě něco dalšího)

Jednoduchý tag na generování `mailto:` odkazů. Je potřeba ještě: - [x] oddělit i tag `{% mailurl %}` (viz commit message) - [x] ověřit, že odpovídá [RFC 6068](https://www.rfc-editor.org/rfc/rfc6068) - [x] použít i v produkčním template (typicky `odevzdavatko/detail.html`, čímž se vyřeší zalámání z !13) (… a možná ještě něco dalšího)
ledoian added 1 commit 1 year ago
6994db438b Přidání tagu {% maillink %}
ledoian added 2 commits 1 year ago
ff996c2924 Přejmenování hodnocení
efe1b4bb5a Použití {%maillink%} v detailu řešení
ledoian reviewed 1 year ago
{% 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 %}
{% for r in object.resitele.all %}
{{ r }}
({% maillink r.osoba.email to=r.osoba.email subject=mailsubject %}){% if forloop.revcounter0 != 0 %}, {% endif %}
ledoian commented 1 year ago
Poster
Owner

Přemýšlím, jestli to nechce komentář, proč máme mailsubject generovaný ve view, když je to prakticky čistě prezentační záležitost… Názory?

Přemýšlím, jestli to nechce komentář, proč máme `mailsubject` generovaný ve view, když je to prakticky čistě prezentační záležitost… Názory?
Poster
Owner

A možná v template komentář, kde se vzal mailsubject / co to je?

A možná v template komentář, kde se vzal mailsubject / co to je?
ledoian commented 1 year ago
Poster
Owner

Template IMHO spíš komentář nepotřebuje. Je to evidentně subject mailu, a věci se typicky berou v kontextu (a v development toolbaru by měl být normálně vidět). Ta divná věc je to, že ho bastlíme ve view…

Template IMHO spíš komentář nepotřebuje. Je to evidentně subject mailu, a věci se typicky berou v kontextu (a v development toolbaru by měl být normálně vidět). Ta divná věc je to, že ho bastlíme ve view…
ledoian commented 1 year ago
Poster
Owner

Ale možná by se mohl jmenovat česky, není důvod to tak neudělat (kromě toho, že jsem to nejspíš kódil v tramvaji a tam kódím většinou anglicky :-D)

Ale možná by se mohl jmenovat česky, není důvod to tak neudělat (kromě toho, že jsem to nejspíš kódil v tramvaji a tam kódím většinou anglicky :-D)
zelvuska marked this conversation as resolved
zelvuska reviewed 1 year ago
zelvuska reviewed 1 year ago
various/tests.py Outdated
def test_render_in_template(self):
# Pomocná funkce: vykreslí template do stringu
# Ref: https://stackoverflow.com/a/1690879
def render_template(template, context=None):
Poster
Owner

Není to tohle:
from django.template.loader import render_to_string

https://docs.djangoproject.com/en/3.2/topics/templates/#django.template.loader.render_to_string

Není to tohle: from django.template.loader import render_to_string https://docs.djangoproject.com/en/3.2/topics/templates/#django.template.loader.render_to_string
Poster
Owner

Aha, to bere soubor…

Aha, to bere soubor…
zelvuska marked this conversation as resolved
ledoian added 1 commit 1 year ago
Poster
Owner

Neměl by se {% maillink %} chovat jako tag, aby mohl být obsah i uvnitř (i.e. {% maillink … %} text odkazu {% endmaillink %})? Neříkám, že to půjde snadno, ale možná by to bylo hezčí.

(Tohle bych na tom asi nezdržoval, navrhuju hodit do Kance s nízkou prioritou, protože hlavní účel to plní a dá se to kdyžtak obejít pomocí {% mailurl %}.)

Neměl by se `{% maillink %}` chovat jako tag, aby mohl být obsah i uvnitř (i.e. `{% maillink … %} text odkazu {% endmaillink %}`)? Neříkám, že to půjde snadno, ale možná by to bylo hezčí. (Tohle bych na tom asi nezdržoval, navrhuju hodit do Kance s nízkou prioritou, protože hlavní účel to plní a dá se to kdyžtak obejít pomocí `{% mailurl %}`.)
ledoian added 2 commits 1 year ago
Poster
Owner

Ad RFC 6068: syntaxe v základu odpovídá, nevím, jak moc správně kódujeme různé interpunkce. Tohle RFC neříká, které další parametry mají mailto adresy umět, ale základ splňujeme, zbytek kdyžtak někdo rozšíří v budoucnu…

Ad RFC 6068: syntaxe v základu odpovídá, nevím, jak moc správně kódujeme různé interpunkce. Tohle RFC neříká, které další parametry mají `mailto` adresy umět, ale základ splňujeme, zbytek kdyžtak někdo rozšíří v budoucnu…
ledoian changed title from WIP: Tag pro odkazy na poslání mailu to Tag pro odkazy na poslání mailu 1 year ago
Owner

Tak mě napadá, nechceme tam mít rovnou i mailto všem řešitelům toho problému?

Tak mě napadá, nechceme tam mít rovnou i mailto všem řešitelům toho problému?
Owner

Jinak OK

Jinak OK
Poster
Owner

Tak mě napadá, nechceme tam mít rovnou i mailto všem řešitelům toho problému?

Well, teď už je snadné si ho tam dopsat :-)

Za mě ale spíš ne, protože to vede k leakování adres napříč řešiteli a nemusíš chtít, aby někdo viděl tu adresu, kterou používáš pro M&M. (Disclaimer: píšu jako člověk, který bojuje se spoustou svých kamarádů, aby zapomněli konkrétní mé maily, protože neměly nikde být vidět.)

> Tak mě napadá, nechceme tam mít rovnou i mailto všem řešitelům toho problému? Well, teď už je snadné si ho tam dopsat :-) Za mě ale spíš ne, protože to vede k leakování adres napříč řešiteli a nemusíš chtít, aby někdo viděl tu adresu, kterou používáš pro M&M. (Disclaimer: píšu jako člověk, který bojuje se spoustou svých kamarádů, aby zapomněli konkrétní mé maily, protože neměly nikde být vidět.)
Poster
Owner

Já to jdu asi mergenout. Vzhled to nerozbíjí, adresy taky ne :-)

Já to jdu asi mergenout. Vzhled to nerozbíjí, adresy taky ne :-)
Owner

Tak mě napadá, nechceme tam mít rovnou i mailto všem řešitelům toho problému?

Well, teď už je snadné si ho tam dopsat :-)

Za mě ale spíš ne, protože to vede k leakování adres napříč řešiteli a nemusíš chtít, aby někdo viděl tu adresu, kterou používáš pro M&M. (Disclaimer: píšu jako člověk, který bojuje se spoustou svých kamarádů, aby zapomněli konkrétní mé maily, protože neměly nikde být vidět.)

Tak jako skrytou kopii. Protože jinak to orgové stejně udělají tak, že si všechny adresy nakopírují do „to:“.

To by mailto: mělo umět, ne?

> > Tak mě napadá, nechceme tam mít rovnou i mailto všem řešitelům toho problému? > > Well, teď už je snadné si ho tam dopsat :-) > > Za mě ale spíš ne, protože to vede k leakování adres napříč řešiteli a nemusíš chtít, aby někdo viděl tu adresu, kterou používáš pro M&M. (Disclaimer: píšu jako člověk, který bojuje se spoustou svých kamarádů, aby zapomněli konkrétní mé maily, protože neměly nikde být vidět.) Tak jako skrytou kopii. Protože jinak to orgové stejně udělají tak, že si všechny adresy nakopírují do „to:“. To by mailto: mělo umět, ne?
Poster
Owner

Tak jako skrytou kopii. Protože jinak to orgové stejně udělají tak, že si všechny adresy nakopírují do „to:“.

To by mailto: mělo umět, ne?

Podle toho RFC nikdo neví, co všechno má mailto umět, jen že musí umět subject a body… Zkusím.

> Tak jako skrytou kopii. Protože jinak to orgové stejně udělají tak, že si všechny adresy nakopírují do „to:“. > > To by mailto: mělo umět, ne? Podle toho RFC nikdo neví, co všechno má mailto umět, jen že musí umět subject a body… Zkusím.
ledoian added 1 commit 1 year ago
Poster
Owner

Well, ve Trojité to funguje, tak to prosím testni s čímkoliv co zrovna používáš. (Thunderbird evidentně divně interaguje s více spuštěnými firefoxy…)

Well, ve Trojité to funguje, tak to prosím testni s čímkoliv co zrovna používáš. (Thunderbird evidentně divně interaguje s více spuštěnými firefoxy…)
Owner

Mně to (z Firefoxu do Thunderbirdu) funguje.

Mně to (z Firefoxu do Thunderbirdu) funguje.
Poster
Owner

OK, merguji for real.

OK, merguji for real.
ledoian merged commit cac034149f into master 1 year ago
ledoian deleted branch maillink 1 year ago
The pull request has been merged as cac034149f.
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.