From 930288ea65b0feefbbf1d43ee7fbacc564071250 Mon Sep 17 00:00:00 2001 From: Jean-Marie Favreau Date: Wed, 19 Feb 2025 15:25:40 +0100 Subject: [PATCH] Les dates de chronologie ont une information d'auteur Fix #318 --- .../locale/fr/LC_MESSAGES/django.po | 305 +++++++++--------- src/agenda_culturel/models.py | 34 +- .../agenda_culturel/duplicate-diff-inc.html | 25 +- .../templates/agenda_culturel/page-event.html | 6 +- 4 files changed, 202 insertions(+), 168 deletions(-) diff --git a/src/agenda_culturel/locale/fr/LC_MESSAGES/django.po b/src/agenda_culturel/locale/fr/LC_MESSAGES/django.po index 80f03ef..381e30a 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-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" "Last-Translator: Jean-Marie Favreau \n" "Language-Team: Jean-Marie Favreau \n" @@ -99,12 +99,12 @@ msgid "Representative version" msgstr "Version représentative" #: 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" msgstr "Oui" #: 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" msgstr "Non" @@ -117,60 +117,60 @@ msgid "In recurrent import" msgstr "Inclut dans un import récurrent" #: agenda_culturel/filters.py:342 -msgid "Imported from" -msgstr "Importé depuis" - -#: agenda_culturel/filters.py:348 msgid "Sort by" msgstr "Trier par" -#: agenda_culturel/filters.py:350 -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 +#: agenda_culturel/filters.py:344 msgid "last moderated first" msgstr "dernier modéré d'abord" -#: agenda_culturel/filters.py:416 agenda_culturel/models.py:648 -#: agenda_culturel/models.py:2302 +#: agenda_culturel/filters.py:345 +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" msgstr "Status" -#: agenda_culturel/filters.py:417 agenda_culturel/models.py:2086 +#: agenda_culturel/filters.py:416 agenda_culturel/models.py:2102 msgid "Closed" msgstr "Fermé" -#: agenda_culturel/filters.py:417 +#: agenda_culturel/filters.py:416 msgid "Open" msgstr "Ouvert" -#: agenda_culturel/filters.py:421 agenda_culturel/filters.py:422 -#: agenda_culturel/models.py:2080 +#: agenda_culturel/filters.py:420 agenda_culturel/filters.py:421 +#: agenda_culturel/models.py:2096 msgid "Spam" msgstr "Spam" -#: agenda_culturel/filters.py:422 +#: agenda_culturel/filters.py:421 msgid "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" msgstr "Type" -#: agenda_culturel/filters.py:442 +#: agenda_culturel/filters.py:441 msgid "Search" msgstr "Rechercher" -#: agenda_culturel/filters.py:454 +#: agenda_culturel/filters.py:453 msgid "In the past" msgstr "Dans le passé" @@ -193,11 +193,11 @@ msgstr "" msgid "Your 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" 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" 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" #: agenda_culturel/forms.py:174 agenda_culturel/models.py:188 -#: agenda_culturel/models.py:653 agenda_culturel/models.py:2224 -#: agenda_culturel/models.py:2334 +#: agenda_culturel/models.py:653 agenda_culturel/models.py:2240 +#: agenda_culturel/models.py:2350 msgid "Category" msgstr "Catégorie" @@ -225,7 +225,7 @@ msgid "Tags" msgstr "Étiquettes" #: agenda_culturel/forms.py:191 agenda_culturel/forms.py:552 -#: agenda_culturel/models.py:848 +#: agenda_culturel/models.py:856 msgid "Event" msgstr "Événement" @@ -250,7 +250,7 @@ msgid "Details" msgstr "Détails" #: agenda_culturel/forms.py:327 agenda_culturel/models.py:683 -#: agenda_culturel/models.py:2199 +#: agenda_culturel/models.py:2215 msgid "Location" msgstr "Localisation" @@ -344,7 +344,7 @@ msgid "Apply category {} to the event {}" msgstr "Appliquer la catégorie {} à l'événement {}" #: agenda_culturel/forms.py:749 agenda_culturel/models.py:495 -#: agenda_culturel/models.py:2386 +#: agenda_culturel/models.py:2402 msgid "Place" msgstr "Lieu" @@ -391,6 +391,7 @@ msgstr "" "sans doute été trop court" #: agenda_culturel/import_tasks/custom_extractors/fbevents.py:110 +#: agenda_culturel/import_tasks/extractor_facebook.py:309 msgid "Cannot get Facebook event from {}" 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:198 agenda_culturel/models.py:438 #: 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" msgstr "Nom" @@ -638,7 +639,7 @@ msgstr "Organisme" msgid "Organisations" msgstr "Organismes" -#: agenda_culturel/models.py:594 agenda_culturel/models.py:2194 +#: agenda_culturel/models.py:594 agenda_culturel/models.py:2210 msgid "Published" msgstr "Publié" @@ -754,64 +755,72 @@ msgstr "Sources en ligne ou billetterie" msgid "Other versions" msgstr "" -#: agenda_culturel/models.py:849 +#: agenda_culturel/models.py:857 msgid "Events" 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" msgstr "Ton événement a été publié" -#: agenda_culturel/models.py:1254 +#: agenda_culturel/models.py:1270 msgid "Your message has not been retained" 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" 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." msgstr "la date n'a pas été importée correctement." -#: agenda_culturel/models.py:1416 +#: agenda_culturel/models.py:1432 msgid "during import process" msgstr "pendant le processus d'import" -#: agenda_culturel/models.py:1424 agenda_culturel/models.py:1430 -#: agenda_culturel/models.py:1437 +#: agenda_culturel/models.py:1440 agenda_culturel/models.py:1446 +#: agenda_culturel/models.py:1453 msgid "warning" msgstr "attention" -#: agenda_culturel/models.py:1432 +#: agenda_culturel/models.py:1448 msgid "the title has not been imported correctly." 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." 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): " msgstr "Champ(s) mis à jour: " -#: agenda_culturel/models.py:1761 +#: agenda_culturel/models.py:1777 msgid "Update" msgstr "Mise à jour" -#: agenda_culturel/models.py:1762 +#: agenda_culturel/models.py:1778 msgid "update process" msgstr "processus de mise à jour" -#: agenda_culturel/models.py:1816 +#: agenda_culturel/models.py:1832 msgid "Import" msgstr "Import" -#: agenda_culturel/models.py:1817 +#: agenda_culturel/models.py:1833 msgid "import process" msgstr "processus d'import" -#: agenda_culturel/models.py:1818 +#: agenda_culturel/models.py:1834 msgid "" "The duration of the event is a little too long for direct publication. " "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é " "directement. Les modérateurs peuvent choisir de le publier ou non." -#: agenda_culturel/models.py:2018 +#: agenda_culturel/models.py:2034 msgid "From contributor" msgstr "D'un·e contributeurice" -#: agenda_culturel/models.py:2019 +#: agenda_culturel/models.py:2035 msgid "Import process" msgstr "Processus d'import" -#: agenda_culturel/models.py:2020 +#: agenda_culturel/models.py:2036 msgid "Update process" msgstr "Processus de mise à jour" -#: agenda_culturel/models.py:2021 +#: agenda_culturel/models.py:2037 msgid "Contact form" msgstr "Formulaire de contact" -#: agenda_culturel/models.py:2022 +#: agenda_culturel/models.py:2038 msgid "Event report" msgstr "Signalemet d'événement" -#: agenda_culturel/models.py:2023 +#: agenda_culturel/models.py:2039 msgid "From contributor (without 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" msgstr "Message" -#: agenda_culturel/models.py:2028 +#: agenda_culturel/models.py:2044 msgid "Messages" msgstr "Messages" -#: agenda_culturel/models.py:2039 +#: agenda_culturel/models.py:2055 msgid "Subject" msgstr "Sujet" -#: agenda_culturel/models.py:2040 +#: agenda_culturel/models.py:2056 msgid "The subject of your message" msgstr "Sujet de votre message" -#: agenda_culturel/models.py:2046 +#: agenda_culturel/models.py:2062 msgid "Related event" msgstr "Événement associé" -#: agenda_culturel/models.py:2047 +#: agenda_culturel/models.py:2063 msgid "The message is associated with this event." msgstr "Le message est associé à cet événement." -#: agenda_culturel/models.py:2055 +#: agenda_culturel/models.py:2071 msgid "Author of the message" msgstr "Auteur du message" -#: agenda_culturel/models.py:2063 +#: agenda_culturel/models.py:2079 msgid "Your name" msgstr "Votre nom" -#: agenda_culturel/models.py:2069 +#: agenda_culturel/models.py:2085 msgid "Email address" msgstr "Adresse email" -#: agenda_culturel/models.py:2075 +#: agenda_culturel/models.py:2091 msgid "Your message" msgstr "Votre message" -#: agenda_culturel/models.py:2081 +#: agenda_culturel/models.py:2097 msgid "This message is a 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" 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" 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" msgstr "Import récurrent" -#: agenda_culturel/models.py:2117 +#: agenda_culturel/models.py:2133 msgid "Recurrent imports" msgstr "Imports récurrents" -#: agenda_culturel/models.py:2121 +#: agenda_culturel/models.py:2137 msgid "ical" msgstr "ical" -#: agenda_culturel/models.py:2122 +#: agenda_culturel/models.py:2138 msgid "ical no busy" msgstr "ical sans busy" -#: agenda_culturel/models.py:2123 +#: agenda_culturel/models.py:2139 msgid "ical no VC" msgstr "ical sans VC" -#: agenda_culturel/models.py:2124 +#: agenda_culturel/models.py:2140 msgid "lacoope.org" msgstr "lacoope.org" -#: agenda_culturel/models.py:2125 +#: agenda_culturel/models.py:2141 msgid "la comédie" msgstr "la comédie" -#: agenda_culturel/models.py:2126 +#: agenda_culturel/models.py:2142 msgid "le fotomat" msgstr "le fotomat" -#: agenda_culturel/models.py:2127 +#: agenda_culturel/models.py:2143 msgid "la puce à l'oreille" msgstr "la puce à loreille" -#: agenda_culturel/models.py:2128 +#: agenda_culturel/models.py:2144 msgid "Plugin wordpress MEC" msgstr "Plugin wordpress MEC" -#: agenda_culturel/models.py:2129 +#: agenda_culturel/models.py:2145 msgid "É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" msgstr "" -#: agenda_culturel/models.py:2131 +#: agenda_culturel/models.py:2147 msgid "Arachnée concert" msgstr "Arachnée concert" -#: agenda_culturel/models.py:2132 +#: agenda_culturel/models.py:2148 msgid "Le Rio" msgstr "Le Rio" -#: agenda_culturel/models.py:2133 +#: agenda_culturel/models.py:2149 msgid "La Raymonde" msgstr "La Raymone" -#: agenda_culturel/models.py:2134 +#: agenda_culturel/models.py:2150 msgid "Agenda apidae tourisme" msgstr "Agenda apidae tourisme" -#: agenda_culturel/models.py:2135 +#: agenda_culturel/models.py:2151 msgid "Agenda iguana (médiathèques)" msgstr "Agenda iguana (médiathèques)" -#: agenda_culturel/models.py:2136 +#: agenda_culturel/models.py:2152 msgid "Mille formes" msgstr "Mille Formes" -#: agenda_culturel/models.py:2137 +#: agenda_culturel/models.py:2153 msgid "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" msgstr "Mobilizon" -#: agenda_culturel/models.py:2141 +#: agenda_culturel/models.py:2157 msgid "simple" msgstr "simple" -#: agenda_culturel/models.py:2142 +#: agenda_culturel/models.py:2158 msgid "Headless Chromium" msgstr "chromium sans interface" -#: agenda_culturel/models.py:2143 +#: agenda_culturel/models.py:2159 msgid "Headless Chromium (pause)" msgstr "chromium sans interface (pause)" -#: agenda_culturel/models.py:2148 +#: agenda_culturel/models.py:2164 msgid "daily" msgstr "chaque jour" -#: agenda_culturel/models.py:2150 +#: agenda_culturel/models.py:2166 msgid "weekly" msgstr "chaque semaine" -#: agenda_culturel/models.py:2155 +#: agenda_culturel/models.py:2171 msgid "" "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." @@ -1003,151 +1012,151 @@ msgstr "" "Nom de l'import récurrent. Attention à choisir un nom compréhensible, car il " "sera public, et affiché sur la page à propos du site." -#: agenda_culturel/models.py:2162 +#: agenda_culturel/models.py:2178 msgid "Processor" msgstr "Processeur" -#: agenda_culturel/models.py:2165 +#: agenda_culturel/models.py:2181 msgid "Downloader" msgstr "Téléchargeur" -#: agenda_culturel/models.py:2172 +#: agenda_culturel/models.py:2188 msgid "Import recurrence" msgstr "Récurrence d'import" -#: agenda_culturel/models.py:2179 +#: agenda_culturel/models.py:2195 msgid "Source" msgstr "Source" -#: agenda_culturel/models.py:2180 +#: agenda_culturel/models.py:2196 msgid "URL of the source document" msgstr "URL du document source" -#: agenda_culturel/models.py:2184 +#: agenda_culturel/models.py:2200 msgid "Browsable url" 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." 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)" 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" msgstr "Adresse de chaque événement importé" -#: agenda_culturel/models.py:2207 +#: agenda_culturel/models.py:2223 msgid "Force location" msgstr "Focer la localisation" -#: agenda_culturel/models.py:2208 +#: agenda_culturel/models.py:2224 msgid "force location even if another is detected." 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" msgstr "Organisateur" -#: agenda_culturel/models.py:2215 +#: agenda_culturel/models.py:2231 msgid "Organiser of each imported event" msgstr "Organisateur de chaque événement importé" -#: agenda_culturel/models.py:2225 +#: agenda_culturel/models.py:2241 msgid "Category of each imported event" msgstr "Catégorie de chaque événement importé" -#: agenda_culturel/models.py:2233 +#: agenda_culturel/models.py:2249 msgid "Tags for each imported event" 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." msgstr "Une liste d'étiquettes décrivant chaque événement importé" -#: agenda_culturel/models.py:2263 +#: agenda_culturel/models.py:2279 msgid "Running" msgstr "En cours" -#: agenda_culturel/models.py:2264 +#: agenda_culturel/models.py:2280 msgid "Canceled" msgstr "Annulé" -#: agenda_culturel/models.py:2265 +#: agenda_culturel/models.py:2281 msgid "Success" msgstr "Succès" -#: agenda_culturel/models.py:2266 +#: agenda_culturel/models.py:2282 msgid "Failed" msgstr "Erreur" -#: agenda_culturel/models.py:2269 +#: agenda_culturel/models.py:2285 msgid "Batch importation" msgstr "Importation par lot" -#: agenda_culturel/models.py:2270 +#: agenda_culturel/models.py:2286 msgid "Batch importations" msgstr "Importations par lot" -#: agenda_culturel/models.py:2283 +#: agenda_culturel/models.py:2299 msgid "Reference to the recurrent import processing" 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)" 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." msgstr "URL source si aucun import récurrent n'est associé" -#: agenda_culturel/models.py:2306 +#: agenda_culturel/models.py:2322 msgid "Error message" msgstr "Votre message" -#: agenda_culturel/models.py:2310 +#: agenda_culturel/models.py:2326 msgid "Number of collected events" msgstr "Nombre d'événements collectés" -#: agenda_culturel/models.py:2313 +#: agenda_culturel/models.py:2329 msgid "Number of imported events" msgstr "Nombre d'événements importés" -#: agenda_culturel/models.py:2316 +#: agenda_culturel/models.py:2332 msgid "Number of updated events" msgstr "Nombre d'événements mis à jour" -#: agenda_culturel/models.py:2319 +#: agenda_culturel/models.py:2335 msgid "Number of removed events" msgstr "Nombre d'événements supprimés" -#: agenda_culturel/models.py:2327 +#: agenda_culturel/models.py:2343 msgid "Weight" msgstr "Poids" -#: agenda_culturel/models.py:2328 +#: agenda_culturel/models.py:2344 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" -#: agenda_culturel/models.py:2335 +#: agenda_culturel/models.py:2351 msgid "Category applied to the event" msgstr "Catégorie appliquée à l'événement" -#: agenda_culturel/models.py:2340 +#: agenda_culturel/models.py:2356 msgid "Contained in the title" msgstr "Contenu dans le titre" -#: agenda_culturel/models.py:2341 +#: agenda_culturel/models.py:2357 msgid "Text contained in the event title" msgstr "Texte contenu dans le titre de l'événement" -#: agenda_culturel/models.py:2347 +#: agenda_culturel/models.py:2363 msgid "Exact title extract" msgstr "Extrait exact du titre" -#: agenda_culturel/models.py:2349 +#: agenda_culturel/models.py:2365 msgid "" "If checked, the extract will be searched for in the title using the exact " "form (capitals, accents)." @@ -1155,19 +1164,19 @@ msgstr "" "Si coché, l'extrait sera recherché dans le titre en utilisant la forme " "exacte (majuscules, accents)" -#: agenda_culturel/models.py:2355 +#: agenda_culturel/models.py:2371 msgid "Contained in the description" msgstr "Contenu dans la description" -#: agenda_culturel/models.py:2356 +#: agenda_culturel/models.py:2372 msgid "Text contained in the description" msgstr "Texte contenu dans la description" -#: agenda_culturel/models.py:2362 +#: agenda_culturel/models.py:2378 msgid "Exact description extract" msgstr "Extrait exact de description" -#: agenda_culturel/models.py:2364 +#: agenda_culturel/models.py:2380 msgid "" "If checked, the extract will be searched for in the description using the " "exact form (capitals, accents)." @@ -1175,19 +1184,19 @@ msgstr "" "Si coché, l'extrait sera recherché dans la description en utilisant la forme " "exacte (majuscules, accents)" -#: agenda_culturel/models.py:2370 +#: agenda_culturel/models.py:2386 msgid "Contained in the location" msgstr "Contenu dans la localisation" -#: agenda_culturel/models.py:2371 +#: agenda_culturel/models.py:2387 msgid "Text contained in the event location" msgstr "Texte contenu dans la localisation de l'événement" -#: agenda_culturel/models.py:2377 +#: agenda_culturel/models.py:2393 msgid "Exact location extract" msgstr "Extrait exact de localisation" -#: agenda_culturel/models.py:2379 +#: agenda_culturel/models.py:2395 msgid "" "If checked, the extract will be searched for in the location using the exact " "form (capitals, accents)." @@ -1195,15 +1204,15 @@ msgstr "" "Si coché, l'extrait sera recherché dans la localisation en utilisant la " "forme exacte (majuscules, accents)" -#: agenda_culturel/models.py:2387 +#: agenda_culturel/models.py:2403 msgid "Location from place" msgstr "Localisation depuis le lieu" -#: agenda_culturel/models.py:2396 +#: agenda_culturel/models.py:2412 msgid "Categorisation rule" msgstr "Règle de catégorisation" -#: agenda_culturel/models.py:2397 +#: agenda_culturel/models.py:2413 msgid "Categorisation rules" msgstr "Règles de catégorisation" diff --git a/src/agenda_culturel/models.py b/src/agenda_culturel/models.py index 311e31f..f060af0 100644 --- a/src/agenda_culturel/models.py +++ b/src/agenda_culturel/models.py @@ -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): if self.import_sources: result = [] @@ -858,7 +866,10 @@ class Event(models.Model): 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 = [] if self.modified_date: 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: c.append({ "timestamp": self.imported_date, "data": "imported_date", "user": self.imported_by_user, "is_date": True }) 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: - 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)] + if not simple: + c += [{ "timestamp": m.date, "data": m, "user": m.user, "is_date": False} for m in self.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"]) diff --git a/src/agenda_culturel/templates/agenda_culturel/duplicate-diff-inc.html b/src/agenda_culturel/templates/agenda_culturel/duplicate-diff-inc.html index 4af02a1..cb0bc70 100644 --- a/src/agenda_culturel/templates/agenda_culturel/duplicate-diff-inc.html +++ b/src/agenda_culturel/templates/agenda_culturel/duplicate-diff-inc.html @@ -7,16 +7,21 @@
{{ forloop.counter0|int_to_abc }}
-
    -
  • {{ e|picto_status }} {{ e.title }}
  • -
  • Création : {{ e.created_date }}
  • -
  • Dernière modification : {{ e.modified_date }}
  • - {% if e.imported_date %}
  • Dernière importation : {{ e.imported_date }}
  • {% endif %} -
  • État : - {% if e.pure_import %}version fidèle à la source importée{% endif %} - {% if e.local_version %}version modifiée localement{% endif %} -
  • -
+ +
    +
  • {{ e|picto_status }} {{ e.title }}
  • + {% for step in e.chronology_dates %} + + {% if step.data == "created_date" %}
  • Création le {{ step.timestamp }} par {{ step.user }}
  • {% endif %} + {% if step.data == "modified_date" %}
  • Dernière modification le {{ step.timestamp }}{% if e.modified_by_user %} par {{ e.modified_by_user.username }}{% else %} par import récurrent{% endif %}
  • {% endif %} + {% if step.data == "moderated_date" %}
  • Dernière modération le {{ step.timestamp }}{% if e.moderated_by_user %} par {{ e.moderated_by_user.username }}{% endif %}
  • {% endif %} + {% if step.data == "imported_date" %}
  • Dernière importation le {{ step.timestamp }}{% if e.imported_by_user %} par {{ e.imported_by_user.username }}{% else %} par import récurrent{% endif %}
  • {% endif %} + {% endfor %} +
  • État : + {% if e.pure_import %}version fidèle à la source importée{% endif %} + {% if e.local_version %}version modifiée localement{% endif %} +
  • +
{% with e.get_import_messages as messages %} {% if messages|length > 0 %}
diff --git a/src/agenda_culturel/templates/agenda_culturel/page-event.html b/src/agenda_culturel/templates/agenda_culturel/page-event.html index b294e90..3f564c5 100644 --- a/src/agenda_culturel/templates/agenda_culturel/page-event.html +++ b/src/agenda_culturel/templates/agenda_culturel/page-event.html @@ -37,10 +37,10 @@ {% else %}