Les dates de chronologie ont une information d'auteur

Fix #318
This commit is contained in:
Jean-Marie Favreau 2025-02-19 15:25:40 +01:00
parent fba67cc974
commit 930288ea65
4 changed files with 202 additions and 168 deletions

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: agenda_culturel\n" "Project-Id-Version: agenda_culturel\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-15 20:00+0100\n" "POT-Creation-Date: 2025-02-19 12:24+0100\n"
"PO-Revision-Date: 2023-10-29 14:16+0000\n" "PO-Revision-Date: 2023-10-29 14:16+0000\n"
"Last-Translator: Jean-Marie Favreau <jeanmarie.favreau@free.fr>\n" "Last-Translator: Jean-Marie Favreau <jeanmarie.favreau@free.fr>\n"
"Language-Team: Jean-Marie Favreau <jeanmarie.favreau@free.fr>\n" "Language-Team: Jean-Marie Favreau <jeanmarie.favreau@free.fr>\n"
@ -99,12 +99,12 @@ msgid "Representative version"
msgstr "Version représentative" msgstr "Version représentative"
#: agenda_culturel/filters.py:325 agenda_culturel/filters.py:331 #: agenda_culturel/filters.py:325 agenda_culturel/filters.py:331
#: agenda_culturel/filters.py:337 agenda_culturel/filters.py:455 #: agenda_culturel/filters.py:337 agenda_culturel/filters.py:454
msgid "Yes" msgid "Yes"
msgstr "Oui" msgstr "Oui"
#: agenda_culturel/filters.py:325 agenda_culturel/filters.py:331 #: agenda_culturel/filters.py:325 agenda_culturel/filters.py:331
#: agenda_culturel/filters.py:337 agenda_culturel/filters.py:455 #: agenda_culturel/filters.py:337 agenda_culturel/filters.py:454
msgid "No" msgid "No"
msgstr "Non" msgstr "Non"
@ -117,60 +117,60 @@ msgid "In recurrent import"
msgstr "Inclut dans un import récurrent" msgstr "Inclut dans un import récurrent"
#: agenda_culturel/filters.py:342 #: agenda_culturel/filters.py:342
msgid "Imported from"
msgstr "Importé depuis"
#: agenda_culturel/filters.py:348
msgid "Sort by" msgid "Sort by"
msgstr "Trier par" msgstr "Trier par"
#: agenda_culturel/filters.py:350 #: agenda_culturel/filters.py:344
msgid "last created first"
msgstr "dernier créé d'abord"
#: agenda_culturel/filters.py:351
msgid "last imported first"
msgstr "dernier importé d'abord"
#: agenda_culturel/filters.py:352
msgid "last modified first"
msgstr "dernier modifié d'abord"
#: agenda_culturel/filters.py:353
msgid "last moderated first" msgid "last moderated first"
msgstr "dernier modéré d'abord" msgstr "dernier modéré d'abord"
#: agenda_culturel/filters.py:416 agenda_culturel/models.py:648 #: agenda_culturel/filters.py:345
#: agenda_culturel/models.py:2302 msgid "last modified first"
msgstr "dernier modifié d'abord"
#: agenda_culturel/filters.py:346
msgid "last imported first"
msgstr "dernier importé d'abord"
#: agenda_culturel/filters.py:347
msgid "last created first"
msgstr "dernier créé d'abord"
#: agenda_culturel/filters.py:352
msgid "Imported from"
msgstr "Importé depuis"
#: agenda_culturel/filters.py:415 agenda_culturel/models.py:648
#: agenda_culturel/models.py:2318
msgid "Status" msgid "Status"
msgstr "Status" msgstr "Status"
#: agenda_culturel/filters.py:417 agenda_culturel/models.py:2086 #: agenda_culturel/filters.py:416 agenda_culturel/models.py:2102
msgid "Closed" msgid "Closed"
msgstr "Fermé" msgstr "Fermé"
#: agenda_culturel/filters.py:417 #: agenda_culturel/filters.py:416
msgid "Open" msgid "Open"
msgstr "Ouvert" msgstr "Ouvert"
#: agenda_culturel/filters.py:421 agenda_culturel/filters.py:422 #: agenda_culturel/filters.py:420 agenda_culturel/filters.py:421
#: agenda_culturel/models.py:2080 #: agenda_culturel/models.py:2096
msgid "Spam" msgid "Spam"
msgstr "Spam" msgstr "Spam"
#: agenda_culturel/filters.py:422 #: agenda_culturel/filters.py:421
msgid "Non spam" msgid "Non spam"
msgstr "Non spam" msgstr "Non spam"
#: agenda_culturel/filters.py:427 agenda_culturel/models.py:2101 #: agenda_culturel/filters.py:426 agenda_culturel/models.py:2117
msgid "Type" msgid "Type"
msgstr "Type" msgstr "Type"
#: agenda_culturel/filters.py:442 #: agenda_culturel/filters.py:441
msgid "Search" msgid "Search"
msgstr "Rechercher" msgstr "Rechercher"
#: agenda_culturel/filters.py:454 #: agenda_culturel/filters.py:453
msgid "In the past" msgid "In the past"
msgstr "Dans le passé" msgstr "Dans le passé"
@ -193,11 +193,11 @@ msgstr ""
msgid "Your email" msgid "Your email"
msgstr "Votre adresse email" msgstr "Votre adresse email"
#: agenda_culturel/forms.py:138 agenda_culturel/models.py:2070 #: agenda_culturel/forms.py:138 agenda_culturel/models.py:2086
msgid "Your email address" msgid "Your email address"
msgstr "Votre adresse email" msgstr "Votre adresse email"
#: agenda_culturel/forms.py:144 agenda_culturel/models.py:2093 #: agenda_culturel/forms.py:144 agenda_culturel/models.py:2109
msgid "Comments" msgid "Comments"
msgstr "Commentaires" msgstr "Commentaires"
@ -213,8 +213,8 @@ msgid "Receive notification of publication or leave a message for moderation"
msgstr "Être notifié de la publication ou laisser un message à la modération" msgstr "Être notifié de la publication ou laisser un message à la modération"
#: agenda_culturel/forms.py:174 agenda_culturel/models.py:188 #: agenda_culturel/forms.py:174 agenda_culturel/models.py:188
#: agenda_culturel/models.py:653 agenda_culturel/models.py:2224 #: agenda_culturel/models.py:653 agenda_culturel/models.py:2240
#: agenda_culturel/models.py:2334 #: agenda_culturel/models.py:2350
msgid "Category" msgid "Category"
msgstr "Catégorie" msgstr "Catégorie"
@ -225,7 +225,7 @@ msgid "Tags"
msgstr "Étiquettes" msgstr "Étiquettes"
#: agenda_culturel/forms.py:191 agenda_culturel/forms.py:552 #: agenda_culturel/forms.py:191 agenda_culturel/forms.py:552
#: agenda_culturel/models.py:848 #: agenda_culturel/models.py:856
msgid "Event" msgid "Event"
msgstr "Événement" msgstr "Événement"
@ -250,7 +250,7 @@ msgid "Details"
msgstr "Détails" msgstr "Détails"
#: agenda_culturel/forms.py:327 agenda_culturel/models.py:683 #: agenda_culturel/forms.py:327 agenda_culturel/models.py:683
#: agenda_culturel/models.py:2199 #: agenda_culturel/models.py:2215
msgid "Location" msgid "Location"
msgstr "Localisation" msgstr "Localisation"
@ -344,7 +344,7 @@ msgid "Apply category {} to the event {}"
msgstr "Appliquer la catégorie {} à l'événement {}" msgstr "Appliquer la catégorie {} à l'événement {}"
#: agenda_culturel/forms.py:749 agenda_culturel/models.py:495 #: agenda_culturel/forms.py:749 agenda_culturel/models.py:495
#: agenda_culturel/models.py:2386 #: agenda_culturel/models.py:2402
msgid "Place" msgid "Place"
msgstr "Lieu" msgstr "Lieu"
@ -391,6 +391,7 @@ msgstr ""
"sans doute été trop court" "sans doute été trop court"
#: agenda_culturel/import_tasks/custom_extractors/fbevents.py:110 #: agenda_culturel/import_tasks/custom_extractors/fbevents.py:110
#: agenda_culturel/import_tasks/extractor_facebook.py:309
msgid "Cannot get Facebook event from {}" msgid "Cannot get Facebook event from {}"
msgstr "Impossible de récupérer un événement Facebook depuis {}" msgstr "Impossible de récupérer un événement Facebook depuis {}"
@ -401,7 +402,7 @@ msgstr "Titre inconnu"
#: agenda_culturel/models.py:67 agenda_culturel/models.py:115 #: agenda_culturel/models.py:67 agenda_culturel/models.py:115
#: agenda_culturel/models.py:198 agenda_culturel/models.py:438 #: agenda_culturel/models.py:198 agenda_culturel/models.py:438
#: agenda_culturel/models.py:466 agenda_culturel/models.py:553 #: agenda_culturel/models.py:466 agenda_culturel/models.py:553
#: agenda_culturel/models.py:2062 agenda_culturel/models.py:2153 #: agenda_culturel/models.py:2078 agenda_culturel/models.py:2169
msgid "Name" msgid "Name"
msgstr "Nom" msgstr "Nom"
@ -638,7 +639,7 @@ msgstr "Organisme"
msgid "Organisations" msgid "Organisations"
msgstr "Organismes" msgstr "Organismes"
#: agenda_culturel/models.py:594 agenda_culturel/models.py:2194 #: agenda_culturel/models.py:594 agenda_culturel/models.py:2210
msgid "Published" msgid "Published"
msgstr "Publié" msgstr "Publié"
@ -754,64 +755,72 @@ msgstr "Sources en ligne ou billetterie"
msgid "Other versions" msgid "Other versions"
msgstr "" msgstr ""
#: agenda_culturel/models.py:849 #: agenda_culturel/models.py:857
msgid "Events" msgid "Events"
msgstr "Événements" msgstr "Événements"
#: agenda_culturel/models.py:1251 #: agenda_culturel/models.py:882
msgid "recurrent import"
msgstr "import récurrent"
#: agenda_culturel/models.py:884
msgid "a non authenticated user"
msgstr "un utilisateur non connecté"
#: agenda_culturel/models.py:1267
msgid "Your event has been published" msgid "Your event has been published"
msgstr "Ton événement a été publié" msgstr "Ton événement a été publié"
#: agenda_culturel/models.py:1254 #: agenda_culturel/models.py:1270
msgid "Your message has not been retained" msgid "Your message has not been retained"
msgstr "Ton événement n'a pas été retenu" msgstr "Ton événement n'a pas été retenu"
#: agenda_culturel/models.py:1336 agenda_culturel/models.py:2024 #: agenda_culturel/models.py:1352 agenda_culturel/models.py:2040
msgid "Warning" msgid "Warning"
msgstr "Warning" msgstr "Warning"
#: agenda_culturel/models.py:1336 agenda_culturel/models.py:1426 #: agenda_culturel/models.py:1352 agenda_culturel/models.py:1442
msgid "the date has not been imported correctly." msgid "the date has not been imported correctly."
msgstr "la date n'a pas été importée correctement." msgstr "la date n'a pas été importée correctement."
#: agenda_culturel/models.py:1416 #: agenda_culturel/models.py:1432
msgid "during import process" msgid "during import process"
msgstr "pendant le processus d'import" msgstr "pendant le processus d'import"
#: agenda_culturel/models.py:1424 agenda_culturel/models.py:1430 #: agenda_culturel/models.py:1440 agenda_culturel/models.py:1446
#: agenda_culturel/models.py:1437 #: agenda_culturel/models.py:1453
msgid "warning" msgid "warning"
msgstr "attention" msgstr "attention"
#: agenda_culturel/models.py:1432 #: agenda_culturel/models.py:1448
msgid "the title has not been imported correctly." msgid "the title has not been imported correctly."
msgstr "le titre n'a pas été importé correctement." msgstr "le titre n'a pas été importé correctement."
#: agenda_culturel/models.py:1439 #: agenda_culturel/models.py:1455
msgid "The import was unable to find an event in the page." msgid "The import was unable to find an event in the page."
msgstr "L'import a été incapable de trouver un événement dans la page." msgstr "L'import a été incapable de trouver un événement dans la page."
#: agenda_culturel/models.py:1760 #: agenda_culturel/models.py:1776
msgid "Updated field(s): " msgid "Updated field(s): "
msgstr "Champ(s) mis à jour: " msgstr "Champ(s) mis à jour: "
#: agenda_culturel/models.py:1761 #: agenda_culturel/models.py:1777
msgid "Update" msgid "Update"
msgstr "Mise à jour" msgstr "Mise à jour"
#: agenda_culturel/models.py:1762 #: agenda_culturel/models.py:1778
msgid "update process" msgid "update process"
msgstr "processus de mise à jour" msgstr "processus de mise à jour"
#: agenda_culturel/models.py:1816 #: agenda_culturel/models.py:1832
msgid "Import" msgid "Import"
msgstr "Import" msgstr "Import"
#: agenda_culturel/models.py:1817 #: agenda_culturel/models.py:1833
msgid "import process" msgid "import process"
msgstr "processus d'import" msgstr "processus d'import"
#: agenda_culturel/models.py:1818 #: agenda_culturel/models.py:1834
msgid "" msgid ""
"The duration of the event is a little too long for direct publication. " "The duration of the event is a little too long for direct publication. "
"Moderators can choose to publish it or not." "Moderators can choose to publish it or not."
@ -819,183 +828,183 @@ msgstr ""
"La durée de l'événement est un peu trop longue pour qu'il soit publié " "La durée de l'événement est un peu trop longue pour qu'il soit publié "
"directement. Les modérateurs peuvent choisir de le publier ou non." "directement. Les modérateurs peuvent choisir de le publier ou non."
#: agenda_culturel/models.py:2018 #: agenda_culturel/models.py:2034
msgid "From contributor" msgid "From contributor"
msgstr "D'un·e contributeurice" msgstr "D'un·e contributeurice"
#: agenda_culturel/models.py:2019 #: agenda_culturel/models.py:2035
msgid "Import process" msgid "Import process"
msgstr "Processus d'import" msgstr "Processus d'import"
#: agenda_culturel/models.py:2020 #: agenda_culturel/models.py:2036
msgid "Update process" msgid "Update process"
msgstr "Processus de mise à jour" msgstr "Processus de mise à jour"
#: agenda_culturel/models.py:2021 #: agenda_culturel/models.py:2037
msgid "Contact form" msgid "Contact form"
msgstr "Formulaire de contact" msgstr "Formulaire de contact"
#: agenda_culturel/models.py:2022 #: agenda_culturel/models.py:2038
msgid "Event report" msgid "Event report"
msgstr "Signalemet d'événement" msgstr "Signalemet d'événement"
#: agenda_culturel/models.py:2023 #: agenda_culturel/models.py:2039
msgid "From contributor (without message)" msgid "From contributor (without message)"
msgstr "D'un·e contributeurice (sans message)" msgstr "D'un·e contributeurice (sans message)"
#: agenda_culturel/models.py:2027 agenda_culturel/models.py:2075 #: agenda_culturel/models.py:2043 agenda_culturel/models.py:2091
msgid "Message" msgid "Message"
msgstr "Message" msgstr "Message"
#: agenda_culturel/models.py:2028 #: agenda_culturel/models.py:2044
msgid "Messages" msgid "Messages"
msgstr "Messages" msgstr "Messages"
#: agenda_culturel/models.py:2039 #: agenda_culturel/models.py:2055
msgid "Subject" msgid "Subject"
msgstr "Sujet" msgstr "Sujet"
#: agenda_culturel/models.py:2040 #: agenda_culturel/models.py:2056
msgid "The subject of your message" msgid "The subject of your message"
msgstr "Sujet de votre message" msgstr "Sujet de votre message"
#: agenda_culturel/models.py:2046 #: agenda_culturel/models.py:2062
msgid "Related event" msgid "Related event"
msgstr "Événement associé" msgstr "Événement associé"
#: agenda_culturel/models.py:2047 #: agenda_culturel/models.py:2063
msgid "The message is associated with this event." msgid "The message is associated with this event."
msgstr "Le message est associé à cet événement." msgstr "Le message est associé à cet événement."
#: agenda_culturel/models.py:2055 #: agenda_culturel/models.py:2071
msgid "Author of the message" msgid "Author of the message"
msgstr "Auteur du message" msgstr "Auteur du message"
#: agenda_culturel/models.py:2063 #: agenda_culturel/models.py:2079
msgid "Your name" msgid "Your name"
msgstr "Votre nom" msgstr "Votre nom"
#: agenda_culturel/models.py:2069 #: agenda_culturel/models.py:2085
msgid "Email address" msgid "Email address"
msgstr "Adresse email" msgstr "Adresse email"
#: agenda_culturel/models.py:2075 #: agenda_culturel/models.py:2091
msgid "Your message" msgid "Your message"
msgstr "Votre message" msgstr "Votre message"
#: agenda_culturel/models.py:2081 #: agenda_culturel/models.py:2097
msgid "This message is a spam." msgid "This message is a spam."
msgstr "Ce message est un spam." msgstr "Ce message est un spam."
#: agenda_culturel/models.py:2088 #: agenda_culturel/models.py:2104
msgid "this message has been processed and no longer needs to be handled" msgid "this message has been processed and no longer needs to be handled"
msgstr "Ce message a été traité et ne nécessite plus d'être pris en charge" msgstr "Ce message a été traité et ne nécessite plus d'être pris en charge"
#: agenda_culturel/models.py:2094 #: agenda_culturel/models.py:2110
msgid "Comments on the message from the moderation team" msgid "Comments on the message from the moderation team"
msgstr "Commentaires sur ce message par l'équipe de modération" msgstr "Commentaires sur ce message par l'équipe de modération"
#: agenda_culturel/models.py:2116 agenda_culturel/models.py:2282 #: agenda_culturel/models.py:2132 agenda_culturel/models.py:2298
msgid "Recurrent import" msgid "Recurrent import"
msgstr "Import récurrent" msgstr "Import récurrent"
#: agenda_culturel/models.py:2117 #: agenda_culturel/models.py:2133
msgid "Recurrent imports" msgid "Recurrent imports"
msgstr "Imports récurrents" msgstr "Imports récurrents"
#: agenda_culturel/models.py:2121 #: agenda_culturel/models.py:2137
msgid "ical" msgid "ical"
msgstr "ical" msgstr "ical"
#: agenda_culturel/models.py:2122 #: agenda_culturel/models.py:2138
msgid "ical no busy" msgid "ical no busy"
msgstr "ical sans busy" msgstr "ical sans busy"
#: agenda_culturel/models.py:2123 #: agenda_culturel/models.py:2139
msgid "ical no VC" msgid "ical no VC"
msgstr "ical sans VC" msgstr "ical sans VC"
#: agenda_culturel/models.py:2124 #: agenda_culturel/models.py:2140
msgid "lacoope.org" msgid "lacoope.org"
msgstr "lacoope.org" msgstr "lacoope.org"
#: agenda_culturel/models.py:2125 #: agenda_culturel/models.py:2141
msgid "la comédie" msgid "la comédie"
msgstr "la comédie" msgstr "la comédie"
#: agenda_culturel/models.py:2126 #: agenda_culturel/models.py:2142
msgid "le fotomat" msgid "le fotomat"
msgstr "le fotomat" msgstr "le fotomat"
#: agenda_culturel/models.py:2127 #: agenda_culturel/models.py:2143
msgid "la puce à l'oreille" msgid "la puce à l'oreille"
msgstr "la puce à loreille" msgstr "la puce à loreille"
#: agenda_culturel/models.py:2128 #: agenda_culturel/models.py:2144
msgid "Plugin wordpress MEC" msgid "Plugin wordpress MEC"
msgstr "Plugin wordpress MEC" msgstr "Plugin wordpress MEC"
#: agenda_culturel/models.py:2129 #: agenda_culturel/models.py:2145
msgid "Événements d'une page FB" msgid "Événements d'une page FB"
msgstr "Événements d'une page FB" msgstr "Événements d'une page FB"
#: agenda_culturel/models.py:2130 #: agenda_culturel/models.py:2146
msgid "Billetterie Clermont-Ferrand" msgid "Billetterie Clermont-Ferrand"
msgstr "" msgstr ""
#: agenda_culturel/models.py:2131 #: agenda_culturel/models.py:2147
msgid "Arachnée concert" msgid "Arachnée concert"
msgstr "Arachnée concert" msgstr "Arachnée concert"
#: agenda_culturel/models.py:2132 #: agenda_culturel/models.py:2148
msgid "Le Rio" msgid "Le Rio"
msgstr "Le Rio" msgstr "Le Rio"
#: agenda_culturel/models.py:2133 #: agenda_culturel/models.py:2149
msgid "La Raymonde" msgid "La Raymonde"
msgstr "La Raymone" msgstr "La Raymone"
#: agenda_culturel/models.py:2134 #: agenda_culturel/models.py:2150
msgid "Agenda apidae tourisme" msgid "Agenda apidae tourisme"
msgstr "Agenda apidae tourisme" msgstr "Agenda apidae tourisme"
#: agenda_culturel/models.py:2135 #: agenda_culturel/models.py:2151
msgid "Agenda iguana (médiathèques)" msgid "Agenda iguana (médiathèques)"
msgstr "Agenda iguana (médiathèques)" msgstr "Agenda iguana (médiathèques)"
#: agenda_culturel/models.py:2136 #: agenda_culturel/models.py:2152
msgid "Mille formes" msgid "Mille formes"
msgstr "Mille Formes" msgstr "Mille Formes"
#: agenda_culturel/models.py:2137 #: agenda_culturel/models.py:2153
msgid "Les Amis du Temps des Cerises" msgid "Les Amis du Temps des Cerises"
msgstr "Les Amis du Temps des Cerises" msgstr "Les Amis du Temps des Cerises"
#: agenda_culturel/models.py:2138 #: agenda_culturel/models.py:2154
msgid "Mobilizon" msgid "Mobilizon"
msgstr "Mobilizon" msgstr "Mobilizon"
#: agenda_culturel/models.py:2141 #: agenda_culturel/models.py:2157
msgid "simple" msgid "simple"
msgstr "simple" msgstr "simple"
#: agenda_culturel/models.py:2142 #: agenda_culturel/models.py:2158
msgid "Headless Chromium" msgid "Headless Chromium"
msgstr "chromium sans interface" msgstr "chromium sans interface"
#: agenda_culturel/models.py:2143 #: agenda_culturel/models.py:2159
msgid "Headless Chromium (pause)" msgid "Headless Chromium (pause)"
msgstr "chromium sans interface (pause)" msgstr "chromium sans interface (pause)"
#: agenda_culturel/models.py:2148 #: agenda_culturel/models.py:2164
msgid "daily" msgid "daily"
msgstr "chaque jour" msgstr "chaque jour"
#: agenda_culturel/models.py:2150 #: agenda_culturel/models.py:2166
msgid "weekly" msgid "weekly"
msgstr "chaque semaine" msgstr "chaque semaine"
#: agenda_culturel/models.py:2155 #: agenda_culturel/models.py:2171
msgid "" msgid ""
"Recurrent import name. Be careful to choose a name that is easy to " "Recurrent import name. Be careful to choose a name that is easy to "
"understand, as it will be public and displayed on the sites About page." "understand, as it will be public and displayed on the sites About page."
@ -1003,151 +1012,151 @@ msgstr ""
"Nom de l'import récurrent. Attention à choisir un nom compréhensible, car il " "Nom de l'import récurrent. Attention à choisir un nom compréhensible, car il "
"sera public, et affiché sur la page à propos du site." "sera public, et affiché sur la page à propos du site."
#: agenda_culturel/models.py:2162 #: agenda_culturel/models.py:2178
msgid "Processor" msgid "Processor"
msgstr "Processeur" msgstr "Processeur"
#: agenda_culturel/models.py:2165 #: agenda_culturel/models.py:2181
msgid "Downloader" msgid "Downloader"
msgstr "Téléchargeur" msgstr "Téléchargeur"
#: agenda_culturel/models.py:2172 #: agenda_culturel/models.py:2188
msgid "Import recurrence" msgid "Import recurrence"
msgstr "Récurrence d'import" msgstr "Récurrence d'import"
#: agenda_culturel/models.py:2179 #: agenda_culturel/models.py:2195
msgid "Source" msgid "Source"
msgstr "Source" msgstr "Source"
#: agenda_culturel/models.py:2180 #: agenda_culturel/models.py:2196
msgid "URL of the source document" msgid "URL of the source document"
msgstr "URL du document source" msgstr "URL du document source"
#: agenda_culturel/models.py:2184 #: agenda_culturel/models.py:2200
msgid "Browsable url" msgid "Browsable url"
msgstr "URL navigable" msgstr "URL navigable"
#: agenda_culturel/models.py:2186 #: agenda_culturel/models.py:2202
msgid "URL of the corresponding document that will be shown to visitors." msgid "URL of the corresponding document that will be shown to visitors."
msgstr "URL correspondant au document et qui sera montrée aux visiteurs" msgstr "URL correspondant au document et qui sera montrée aux visiteurs"
#: agenda_culturel/models.py:2195 #: agenda_culturel/models.py:2211
msgid "Status of each imported event (published or draft)" msgid "Status of each imported event (published or draft)"
msgstr "Status de chaque événement importé (publié ou brouillon)" msgstr "Status de chaque événement importé (publié ou brouillon)"
#: agenda_culturel/models.py:2200 #: agenda_culturel/models.py:2216
msgid "Address for each imported event" msgid "Address for each imported event"
msgstr "Adresse de chaque événement importé" msgstr "Adresse de chaque événement importé"
#: agenda_culturel/models.py:2207 #: agenda_culturel/models.py:2223
msgid "Force location" msgid "Force location"
msgstr "Focer la localisation" msgstr "Focer la localisation"
#: agenda_culturel/models.py:2208 #: agenda_culturel/models.py:2224
msgid "force location even if another is detected." msgid "force location even if another is detected."
msgstr "Forcer la localisation même si une autre a été détectée." msgstr "Forcer la localisation même si une autre a été détectée."
#: agenda_culturel/models.py:2214 #: agenda_culturel/models.py:2230
msgid "Organiser" msgid "Organiser"
msgstr "Organisateur" msgstr "Organisateur"
#: agenda_culturel/models.py:2215 #: agenda_culturel/models.py:2231
msgid "Organiser of each imported event" msgid "Organiser of each imported event"
msgstr "Organisateur de chaque événement importé" msgstr "Organisateur de chaque événement importé"
#: agenda_culturel/models.py:2225 #: agenda_culturel/models.py:2241
msgid "Category of each imported event" msgid "Category of each imported event"
msgstr "Catégorie de chaque événement importé" msgstr "Catégorie de chaque événement importé"
#: agenda_culturel/models.py:2233 #: agenda_culturel/models.py:2249
msgid "Tags for each imported event" msgid "Tags for each imported event"
msgstr "Étiquettes de chaque événement importé" msgstr "Étiquettes de chaque événement importé"
#: agenda_culturel/models.py:2234 #: agenda_culturel/models.py:2250
msgid "A list of tags that describe each imported event." msgid "A list of tags that describe each imported event."
msgstr "Une liste d'étiquettes décrivant chaque événement importé" msgstr "Une liste d'étiquettes décrivant chaque événement importé"
#: agenda_culturel/models.py:2263 #: agenda_culturel/models.py:2279
msgid "Running" msgid "Running"
msgstr "En cours" msgstr "En cours"
#: agenda_culturel/models.py:2264 #: agenda_culturel/models.py:2280
msgid "Canceled" msgid "Canceled"
msgstr "Annulé" msgstr "Annulé"
#: agenda_culturel/models.py:2265 #: agenda_culturel/models.py:2281
msgid "Success" msgid "Success"
msgstr "Succès" msgstr "Succès"
#: agenda_culturel/models.py:2266 #: agenda_culturel/models.py:2282
msgid "Failed" msgid "Failed"
msgstr "Erreur" msgstr "Erreur"
#: agenda_culturel/models.py:2269 #: agenda_culturel/models.py:2285
msgid "Batch importation" msgid "Batch importation"
msgstr "Importation par lot" msgstr "Importation par lot"
#: agenda_culturel/models.py:2270 #: agenda_culturel/models.py:2286
msgid "Batch importations" msgid "Batch importations"
msgstr "Importations par lot" msgstr "Importations par lot"
#: agenda_culturel/models.py:2283 #: agenda_culturel/models.py:2299
msgid "Reference to the recurrent import processing" msgid "Reference to the recurrent import processing"
msgstr "Référence du processus d'import récurrent" msgstr "Référence du processus d'import récurrent"
#: agenda_culturel/models.py:2291 #: agenda_culturel/models.py:2307
msgid "URL (if not recurrent import)" msgid "URL (if not recurrent import)"
msgstr "URL (si pas d'import récurrent)" msgstr "URL (si pas d'import récurrent)"
#: agenda_culturel/models.py:2293 #: agenda_culturel/models.py:2309
msgid "Source URL if no RecurrentImport is associated." msgid "Source URL if no RecurrentImport is associated."
msgstr "URL source si aucun import récurrent n'est associé" msgstr "URL source si aucun import récurrent n'est associé"
#: agenda_culturel/models.py:2306 #: agenda_culturel/models.py:2322
msgid "Error message" msgid "Error message"
msgstr "Votre message" msgstr "Votre message"
#: agenda_culturel/models.py:2310 #: agenda_culturel/models.py:2326
msgid "Number of collected events" msgid "Number of collected events"
msgstr "Nombre d'événements collectés" msgstr "Nombre d'événements collectés"
#: agenda_culturel/models.py:2313 #: agenda_culturel/models.py:2329
msgid "Number of imported events" msgid "Number of imported events"
msgstr "Nombre d'événements importés" msgstr "Nombre d'événements importés"
#: agenda_culturel/models.py:2316 #: agenda_culturel/models.py:2332
msgid "Number of updated events" msgid "Number of updated events"
msgstr "Nombre d'événements mis à jour" msgstr "Nombre d'événements mis à jour"
#: agenda_culturel/models.py:2319 #: agenda_culturel/models.py:2335
msgid "Number of removed events" msgid "Number of removed events"
msgstr "Nombre d'événements supprimés" msgstr "Nombre d'événements supprimés"
#: agenda_culturel/models.py:2327 #: agenda_culturel/models.py:2343
msgid "Weight" msgid "Weight"
msgstr "Poids" msgstr "Poids"
#: agenda_culturel/models.py:2328 #: agenda_culturel/models.py:2344
msgid "The lower is the weight, the earlier the filter is applied" msgid "The lower is the weight, the earlier the filter is applied"
msgstr "Plus le poids est léger, plus le filtre sera appliqué tôt" msgstr "Plus le poids est léger, plus le filtre sera appliqué tôt"
#: agenda_culturel/models.py:2335 #: agenda_culturel/models.py:2351
msgid "Category applied to the event" msgid "Category applied to the event"
msgstr "Catégorie appliquée à l'événement" msgstr "Catégorie appliquée à l'événement"
#: agenda_culturel/models.py:2340 #: agenda_culturel/models.py:2356
msgid "Contained in the title" msgid "Contained in the title"
msgstr "Contenu dans le titre" msgstr "Contenu dans le titre"
#: agenda_culturel/models.py:2341 #: agenda_culturel/models.py:2357
msgid "Text contained in the event title" msgid "Text contained in the event title"
msgstr "Texte contenu dans le titre de l'événement" msgstr "Texte contenu dans le titre de l'événement"
#: agenda_culturel/models.py:2347 #: agenda_culturel/models.py:2363
msgid "Exact title extract" msgid "Exact title extract"
msgstr "Extrait exact du titre" msgstr "Extrait exact du titre"
#: agenda_culturel/models.py:2349 #: agenda_culturel/models.py:2365
msgid "" msgid ""
"If checked, the extract will be searched for in the title using the exact " "If checked, the extract will be searched for in the title using the exact "
"form (capitals, accents)." "form (capitals, accents)."
@ -1155,19 +1164,19 @@ msgstr ""
"Si coché, l'extrait sera recherché dans le titre en utilisant la forme " "Si coché, l'extrait sera recherché dans le titre en utilisant la forme "
"exacte (majuscules, accents)" "exacte (majuscules, accents)"
#: agenda_culturel/models.py:2355 #: agenda_culturel/models.py:2371
msgid "Contained in the description" msgid "Contained in the description"
msgstr "Contenu dans la description" msgstr "Contenu dans la description"
#: agenda_culturel/models.py:2356 #: agenda_culturel/models.py:2372
msgid "Text contained in the description" msgid "Text contained in the description"
msgstr "Texte contenu dans la description" msgstr "Texte contenu dans la description"
#: agenda_culturel/models.py:2362 #: agenda_culturel/models.py:2378
msgid "Exact description extract" msgid "Exact description extract"
msgstr "Extrait exact de description" msgstr "Extrait exact de description"
#: agenda_culturel/models.py:2364 #: agenda_culturel/models.py:2380
msgid "" msgid ""
"If checked, the extract will be searched for in the description using the " "If checked, the extract will be searched for in the description using the "
"exact form (capitals, accents)." "exact form (capitals, accents)."
@ -1175,19 +1184,19 @@ msgstr ""
"Si coché, l'extrait sera recherché dans la description en utilisant la forme " "Si coché, l'extrait sera recherché dans la description en utilisant la forme "
"exacte (majuscules, accents)" "exacte (majuscules, accents)"
#: agenda_culturel/models.py:2370 #: agenda_culturel/models.py:2386
msgid "Contained in the location" msgid "Contained in the location"
msgstr "Contenu dans la localisation" msgstr "Contenu dans la localisation"
#: agenda_culturel/models.py:2371 #: agenda_culturel/models.py:2387
msgid "Text contained in the event location" msgid "Text contained in the event location"
msgstr "Texte contenu dans la localisation de l'événement" msgstr "Texte contenu dans la localisation de l'événement"
#: agenda_culturel/models.py:2377 #: agenda_culturel/models.py:2393
msgid "Exact location extract" msgid "Exact location extract"
msgstr "Extrait exact de localisation" msgstr "Extrait exact de localisation"
#: agenda_culturel/models.py:2379 #: agenda_culturel/models.py:2395
msgid "" msgid ""
"If checked, the extract will be searched for in the location using the exact " "If checked, the extract will be searched for in the location using the exact "
"form (capitals, accents)." "form (capitals, accents)."
@ -1195,15 +1204,15 @@ msgstr ""
"Si coché, l'extrait sera recherché dans la localisation en utilisant la " "Si coché, l'extrait sera recherché dans la localisation en utilisant la "
"forme exacte (majuscules, accents)" "forme exacte (majuscules, accents)"
#: agenda_culturel/models.py:2387 #: agenda_culturel/models.py:2403
msgid "Location from place" msgid "Location from place"
msgstr "Localisation depuis le lieu" msgstr "Localisation depuis le lieu"
#: agenda_culturel/models.py:2396 #: agenda_culturel/models.py:2412
msgid "Categorisation rule" msgid "Categorisation rule"
msgstr "Règle de catégorisation" msgstr "Règle de catégorisation"
#: agenda_culturel/models.py:2397 #: agenda_culturel/models.py:2413
msgid "Categorisation rules" msgid "Categorisation rules"
msgstr "Règles de catégorisation" msgstr "Règles de catégorisation"

View File

@ -828,6 +828,14 @@ class Event(models.Model):
}, },
) )
def in_recurrent_import(self):
if self.import_sources:
for s in self.import_sources:
o_s = RecurrentImport.objects.filter(source=s).count()
if o_s > 0:
return True
return False
def get_import_sources(self): def get_import_sources(self):
if self.import_sources: if self.import_sources:
result = [] result = []
@ -858,7 +866,10 @@ class Event(models.Model):
models.Index("start_time", "start_day", "end_day", "end_time", Lower("title"), name="datetimes title") models.Index("start_time", "start_day", "end_day", "end_time", Lower("title"), name="datetimes title")
] ]
def chronology(self): def chronology_dates(self):
return self.chronology(True)
def chronology(self, simple=False):
c = [] c = []
if self.modified_date: if self.modified_date:
c.append({ "timestamp": self.modified_date, "data": "modified_date", "user": self.modified_by_user, "is_date": True }) c.append({ "timestamp": self.modified_date, "data": "modified_date", "user": self.modified_by_user, "is_date": True })
@ -867,14 +878,23 @@ class Event(models.Model):
if self.imported_date: if self.imported_date:
c.append({ "timestamp": self.imported_date, "data": "imported_date", "user": self.imported_by_user, "is_date": True }) c.append({ "timestamp": self.imported_date, "data": "imported_date", "user": self.imported_by_user, "is_date": True })
if self.created_date: if self.created_date:
c.append({ "timestamp": self.created_date + timedelta(milliseconds=-1), "data": "created_date", "user": self.created_by_user, "is_date": True}) if self.created_by_user:
user = self.created_by_user
else:
if self.in_recurrent_import():
user = _('recurrent import')
else:
user = _('a non authenticated user')
c += [{ "timestamp": m.date, "data": m, "user": m.user, "is_date": False} for m in self.message_set.filter(spam=False)] c.append({ "timestamp": self.created_date + timedelta(milliseconds=-1), "data": "created_date", "user": user, "is_date": True})
if self.other_versions: if not simple:
for o in self.other_versions.get_duplicated(): c += [{ "timestamp": m.date, "data": m, "user": m.user, "is_date": False} for m in self.message_set.filter(spam=False)]
if o != self:
c += [{ "timestamp": m.date, "data": m, "user": m.user, "is_date": False} for m in o.message_set.filter(spam=False)] if self.other_versions:
for o in self.other_versions.get_duplicated():
if o != self:
c += [{ "timestamp": m.date, "data": m, "user": m.user, "is_date": False} for m in o.message_set.filter(spam=False)]
c.sort(key=lambda x: x["timestamp"]) c.sort(key=lambda x: x["timestamp"])

View File

@ -7,16 +7,21 @@
<div class="badge-large{% if e.masked %} badge-secondary{% endif %}"> <div class="badge-large{% if e.masked %} badge-secondary{% endif %}">
{{ forloop.counter0|int_to_abc }} {{ forloop.counter0|int_to_abc }}
</div> </div>
<ul>
<li>{{ e|picto_status }} <a href="{{ e.get_absolute_url }}">{{ e.title }}</a></li> <ul>
<li>Création&nbsp;: {{ e.created_date }}</li> <li>{{ e|picto_status }} <a href="{{ e.get_absolute_url }}">{{ e.title }}</a></li>
<li>Dernière modification&nbsp;: {{ e.modified_date }}</li> {% for step in e.chronology_dates %}
{% if e.imported_date %}<li>Dernière importation&nbsp;: {{ e.imported_date }}</li>{% endif %}
<li>État&nbsp;: {% if step.data == "created_date" %}<li><em>Création</em> le {{ step.timestamp }} par {{ step.user }}</li>{% endif %}
{% if e.pure_import %}version fidèle à la source importée{% endif %} {% if step.data == "modified_date" %}<li><em>Dernière modification</em> le {{ step.timestamp }}{% if e.modified_by_user %} par {{ e.modified_by_user.username }}{% else %} par import récurrent{% endif %}</li>{% endif %}
{% if e.local_version %}<strong>version modifiée localement</strong>{% endif %} {% if step.data == "moderated_date" %}<li><em>Dernière modération</em> le {{ step.timestamp }}{% if e.moderated_by_user %} par {{ e.moderated_by_user.username }}{% endif %}</li>{% endif %}
</li> {% if step.data == "imported_date" %}<li><em>Dernière importation</em> le {{ step.timestamp }}{% if e.imported_by_user %} par {{ e.imported_by_user.username }}{% else %} par import récurrent{% endif %}</li>{% endif %}
</ul> {% endfor %}
<li>État&nbsp;:
{% if e.pure_import %}version fidèle à la source importée{% endif %}
{% if e.local_version %}<strong>version modifiée localement</strong>{% endif %}
</li>
</ul>
{% with e.get_import_messages as messages %} {% with e.get_import_messages as messages %}
{% if messages|length > 0 %} {% if messages|length > 0 %}
<div class="full-columns"> <div class="full-columns">

View File

@ -37,10 +37,10 @@
<div class="entree dateline"> <div class="entree dateline">
<div><span class="ts">{{ step.timestamp }}</span></div> <div><span class="ts">{{ step.timestamp }}</span></div>
<div> <div>
{% if step.data == "created_date" %}<em>création</em>{% if event.created_by_user %} par {{ event.created_by_user.username }}{% endif %}{% endif %} {% if step.data == "created_date" %}<em>création</em> par {{ step.user }}{% endif %}
{% if step.data == "modified_date" %}<em>dernière modification</em>{% if event.modified_by_user %} par {{ event.modified_by_user.username }}{% endif %}{% endif %} {% if step.data == "modified_date" %}<em>dernière modification</em>{% if event.modified_by_user %} par {{ event.modified_by_user.username }}{% else %} par import récurrent{% endif %}{% endif %}
{% if step.data == "moderated_date" %}<em>dernière modération</em>{% if event.moderated_by_user %} par {{ event.moderated_by_user.username }}{% endif %}{% endif %} {% if step.data == "moderated_date" %}<em>dernière modération</em>{% if event.moderated_by_user %} par {{ event.moderated_by_user.username }}{% endif %}{% endif %}
{% if step.data == "imported_date" %}<em>dernière importation</em>{% if event.imported_by_user %} par {{ event.imported_by_user.username }}{% endif %}{% endif %} {% if step.data == "imported_date" %}<em>dernière importation</em>{% if event.imported_by_user %} par {{ event.imported_by_user.username }}{% else %} par import récurrent{% endif %}{% endif %}
</div> </div>
</div> </div>
{% else %} {% else %}