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 ""
"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 <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"
#: 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"

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):
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"])

View File

@ -7,16 +7,21 @@
<div class="badge-large{% if e.masked %} badge-secondary{% endif %}">
{{ forloop.counter0|int_to_abc }}
</div>
<ul>
<li>{{ e|picto_status }} <a href="{{ e.get_absolute_url }}">{{ e.title }}</a></li>
<li>Création&nbsp;: {{ e.created_date }}</li>
<li>Dernière modification&nbsp;: {{ e.modified_date }}</li>
{% if e.imported_date %}<li>Dernière importation&nbsp;: {{ e.imported_date }}</li>{% endif %}
<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>
<ul>
<li>{{ e|picto_status }} <a href="{{ e.get_absolute_url }}">{{ e.title }}</a></li>
{% for step in e.chronology_dates %}
{% if step.data == "created_date" %}<li><em>Création</em> le {{ step.timestamp }} par {{ step.user }}</li>{% 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 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 %}
{% 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 %}
{% 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 %}
{% if messages|length > 0 %}
<div class="full-columns">

View File

@ -37,10 +37,10 @@
<div class="entree dateline">
<div><span class="ts">{{ step.timestamp }}</span></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 == "modified_date" %}<em>dernière modification</em>{% if event.modified_by_user %} par {{ event.modified_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 }}{% 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 == "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>
{% else %}