From e6f988b099ad3ce30986b8c884942c431fefd546 Mon Sep 17 00:00:00 2001 From: Jean-Marie Favreau Date: Thu, 9 Jan 2025 23:15:46 +0100 Subject: [PATCH] =?UTF-8?q?Am=C3=A9lioration=20liens=20source:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See #265 --- .../locale/fr/LC_MESSAGES/django.po | 6 ++++- src/agenda_culturel/static/images/fb.png | Bin 0 -> 2238 bytes src/agenda_culturel/static/style.scss | 6 +++++ .../agenda_culturel/event-sources-inc.html | 24 +++++++++++++----- .../templatetags/utils_extra.py | 14 ++++++++-- 5 files changed, 40 insertions(+), 10 deletions(-) create mode 100644 src/agenda_culturel/static/images/fb.png diff --git a/src/agenda_culturel/locale/fr/LC_MESSAGES/django.po b/src/agenda_culturel/locale/fr/LC_MESSAGES/django.po index b13587b..1d6d2de 100644 --- a/src/agenda_culturel/locale/fr/LC_MESSAGES/django.po +++ b/src/agenda_culturel/locale/fr/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: agenda_culturel\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-09 21:20+0100\n" +"POT-Creation-Date: 2025-01-09 21:49+0100\n" "PO-Revision-Date: 2023-10-29 14:16+0000\n" "Last-Translator: Jean-Marie Favreau \n" "Language-Team: Jean-Marie Favreau \n" @@ -1104,6 +1104,10 @@ msgstr "Règles de catégorisation" msgid "French" msgstr "français" +#: agenda_culturel/templatetags/utils_extra.py:28 +msgid "facebook event" +msgstr "événement facebook" + #: agenda_culturel/views.py:155 msgid "Recurrent import name" msgstr "Nome de l'import récurrent" diff --git a/src/agenda_culturel/static/images/fb.png b/src/agenda_culturel/static/images/fb.png new file mode 100644 index 0000000000000000000000000000000000000000..0ab4744c8424b8553c020892f80cbcd753884113 GIT binary patch literal 2238 zcmV;v2toIWP)hGqcmv z)zj5`;7eY5ce=aky??!W_3G8@lu3}c0!L7UgWj_+D6M9=pvD#nQf2e9HBG zfT)TCM9ISX^ZNlhe+0fVju0{4m5*2iF9nF&Qrd|O0E+9KvGB9-t#F%CI(GQZ8QS_1 zei>c|5V8%J8LDBp)?Ux25;QI|6tIb1%Y<#Q=K2N3=WYd91DU-?&Q=zh2?tifh- zUw+^tcqSkyunMH20QhGA3U6!PH;VFUL_ZJbd$KYl6-S`+Ji7#b8W0pv6{Nr>eTVlv zZ#|i$*`Gs9DclNpJG3P>CP1#h)wbvF)@3Hmz0@g;`q)Whj>5-I8FLc9ulLHsheXri zb$A{i@ODEg2ms2f>4#vMe#Z!?TR$oV+Tu+rdl@r^^<>llV}|x*qrmQ<;v!?(wXRc8 z7IFHVF(**`FuwiZQDb(qGgwz`(#w9V11E%d!_0!;1_W6}4h1m54; zk9w^!Hxoh)=xQ~ZIf9S4#F#IBF~$ObPP{l9{uN#q3IL;zINl3`!k~?MU#8xL1@z$? z2_MH9(@#B>NNOtrT`HZ>ZCd{Fm@|v~C{JC+Ywq)$UXzUJo}w`0DQ-%&5b~C zN}Bg~Uv12^>!Z(gr-B%xE&F72tsjDH3mD2xZE3?7mk3hH^!s);W;%0T%UlzaR=xXR z0pXFStUoW5%n%4p={yV1gb{ViTr(loA2TuI3o@gvjSjBKIG>#wbpg=E@eaZw2nxbm zI!}a^x~t#VjN$K5u184bKLBV)D-{}%P7&>G++)m!UB>Jp)p3+SNY*HYRo`w2n6GG^6AV-66>2n1xRx`Z*d3Bzl@ny~iAO;`AYQA%Z!0Ujmyp@Pa#>Yr9-iY&6Dns04RENl#~*2+TF@-QQKt)v`+x+aL`brHE|XPSxuFY%~EM0 z)D8ilYOKcDeppBp_Q(-VhqPaCK#DoH2mqCt1Rfqb=*Vdk`&j|x1RXd)mDE%TfNeq| zj+EN>M~V64^tBtYYuGhLJSi^JrONNB6$c!GzlU!qMKCG8hY?w`iCtgb!Ym<2^fRWX zWiTZ3Ucb|%br>2%t2p61aoR-)V7{Y|T2EwhW1QJ|1qCJT3zWSnl=f04c=1$|zHOwP zz(4OW=}8Mssz!w_0dxj$RSY1@LDV8TiF3jgnNV03z*(!|;3_(uWyHk!q-3VNwk^rC zGrC5Zp@fNat7rA~r$BOopTmv28&6ovfaWzM%VBRV@$#*HZQW=5S=}@;HEOSa3V=*K zVRph;8;g<5@5_>lmCqMFc=l`R=FkWS)-4JIIXcNayI7rY;1tN44k|gHDKlyz(?Mph z>H8GQ?+vp@tI`9%^npB zrcJq5fuz13am5qqZoMkJGCY;2 z3kX#V>k~XxrKn1)zyB`vpr)2we=V70DJYMw1dZl+b^b>V?$kHtKXc$p&BjD>4*&oF M07*qoM6N<$f(WZ5umAu6 literal 0 HcmV?d00001 diff --git a/src/agenda_culturel/static/style.scss b/src/agenda_culturel/static/style.scss index 0f7c1a3..19b5ba3 100644 --- a/src/agenda_culturel/static/style.scss +++ b/src/agenda_culturel/static/style.scss @@ -1814,4 +1814,10 @@ dialog { color: var(--contrast); } } +} + +.logo-socalmedia { + height: 1.3em; + vertical-align: middle; + margin-bottom: .2em; } \ No newline at end of file diff --git a/src/agenda_culturel/templates/agenda_culturel/event-sources-inc.html b/src/agenda_culturel/templates/agenda_culturel/event-sources-inc.html index 8a20d58..da5a554 100644 --- a/src/agenda_culturel/templates/agenda_culturel/event-sources-inc.html +++ b/src/agenda_culturel/templates/agenda_culturel/event-sources-inc.html @@ -1,14 +1,24 @@ {% load utils_extra %} +{% load static %} {% with event.get_reference_urls as refs %} -{% if refs|length > 0 %} -

Source{{ refs|pluralize }} : - - {% for eurl in refs %} -{{ eurl|hostname }}{% if not forloop.last %}, {% endif %} -{% endfor %} -

+{% with refs|length as nb_url %} +{% if nb_url > 0 %} + {% if nb_url == 1 %} + {% if refs.0|is_facebook_url %} +

Voir l'événement facebook

+ {% else %} +

Voir l'événement sur le site source {{ refs.0|hostname_or_socialmedia }}

+ {% endif %} + {% else %} +

Voir l'événement sur les site sources + {% for eurl in refs %} + + {{ eurl|hostname_or_socialmedia }}{% if eurl|is_facebook_url %} {% endif %}{% if not forloop.last %}, {% endif %} + {% endfor %}

+ {% endif %} {% else %}

À notre connaissance, cet événement n'est pas référencé autre part sur internet.

{% endif %} +{% endwith %} {% endwith %} \ No newline at end of file diff --git a/src/agenda_culturel/templatetags/utils_extra.py b/src/agenda_culturel/templatetags/utils_extra.py index 4ea4bf2..03cc148 100644 --- a/src/agenda_culturel/templatetags/utils_extra.py +++ b/src/agenda_culturel/templatetags/utils_extra.py @@ -1,6 +1,7 @@ from django import template from django.utils.safestring import mark_safe from django.template.defaultfilters import stringfilter +from django.utils.translation import gettext_lazy as _ from urllib.parse import urlparse from datetime import timedelta, date, datetime @@ -13,11 +14,20 @@ import emoji register = template.Library() +@register.filter +def is_facebook_url(url): + obj = urlparse(url) + return obj.hostname.endswith("facebook.com") @register.filter -def hostname(url): +def hostname_or_socialmedia(url): obj = urlparse(url) - return mark_safe(obj.hostname) + hostname = obj.hostname + if hostname.endswith("facebook.com"): + if "event" in url: + return _("facebook event") + + return mark_safe(hostname) @register.filter