From 430c7b47a2e1b5667c64fe5e6329e175da863efb Mon Sep 17 00:00:00 2001 From: Jean-Marie Favreau Date: Sun, 15 Dec 2024 19:00:52 +0100 Subject: [PATCH] On ajoute une fonction de suppression de cache Fix #136 --- .../locale/fr/LC_MESSAGES/django.po | 484 +++++++++--------- .../agenda_culturel/clear_cache.html | 27 + .../templates/agenda_culturel/side-nav.html | 1 + src/agenda_culturel/urls.py | 2 + src/agenda_culturel/views.py | 12 + 5 files changed, 286 insertions(+), 240 deletions(-) create mode 100644 src/agenda_culturel/templates/agenda_culturel/clear_cache.html diff --git a/src/agenda_culturel/locale/fr/LC_MESSAGES/django.po b/src/agenda_culturel/locale/fr/LC_MESSAGES/django.po index c872a73..a977a28 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: 2024-12-12 00:19+0100\n" +"POT-Creation-Date: 2024-12-15 19:00+0100\n" "PO-Revision-Date: 2023-10-29 14:16+0000\n" "Last-Translator: Jean-Marie Favreau \n" "Language-Team: Jean-Marie Favreau \n" @@ -110,7 +110,7 @@ msgstr "Non" msgid "Imported from" msgstr "Importé depuis" -#: agenda_culturel/filters.py:367 agenda_culturel/models.py:1832 +#: agenda_culturel/filters.py:367 agenda_culturel/models.py:1839 msgid "Closed" msgstr "Fermé" @@ -118,7 +118,7 @@ msgstr "Fermé" msgid "Open" msgstr "Ouvert" -#: agenda_culturel/filters.py:372 agenda_culturel/models.py:1826 +#: agenda_culturel/filters.py:372 agenda_culturel/models.py:1833 msgid "Spam" msgstr "Spam" @@ -145,15 +145,15 @@ msgstr "" "Forcer le renommage malgré l'existence d'événements utilisant déjà " "l'étiquette choisie." -#: agenda_culturel/forms.py:133 agenda_culturel/models.py:177 -#: agenda_culturel/models.py:619 agenda_culturel/models.py:1951 -#: agenda_culturel/models.py:2061 +#: agenda_culturel/forms.py:133 agenda_culturel/models.py:178 +#: agenda_culturel/models.py:620 agenda_culturel/models.py:1958 +#: agenda_culturel/models.py:2068 msgid "Category" msgstr "Catégorie" #: agenda_culturel/forms.py:139 agenda_culturel/forms.py:164 #: agenda_culturel/forms.py:194 agenda_culturel/forms.py:349 -#: agenda_culturel/models.py:218 agenda_culturel/models.py:727 +#: agenda_culturel/models.py:219 agenda_culturel/models.py:728 msgid "Tags" msgstr "Étiquettes" @@ -177,12 +177,12 @@ msgstr "Cet événement est récurrent" msgid "Details" msgstr "Détails" -#: agenda_culturel/forms.py:276 agenda_culturel/models.py:649 -#: agenda_culturel/models.py:1932 +#: agenda_culturel/forms.py:276 agenda_culturel/models.py:650 +#: agenda_culturel/models.py:1939 msgid "Location" msgstr "Localisation" -#: agenda_culturel/forms.py:280 agenda_culturel/models.py:682 +#: agenda_culturel/forms.py:280 agenda_culturel/models.py:683 msgid "Illustration" msgstr "Illustration" @@ -255,7 +255,7 @@ msgstr "Rendre {} indépendant." msgid "Make all versions independent." msgstr "Rendre toutes les versions indépendantes." -#: agenda_culturel/forms.py:496 agenda_culturel/models.py:802 +#: agenda_culturel/forms.py:496 agenda_culturel/models.py:803 msgid "Event" msgstr "Événement" @@ -271,8 +271,8 @@ msgstr "Valeur de la version {}" msgid "Apply category {} to the event {}" msgstr "Appliquer la catégorie {} à l'événement {}" -#: agenda_culturel/forms.py:693 agenda_culturel/models.py:465 -#: agenda_culturel/models.py:2113 +#: agenda_culturel/forms.py:693 agenda_culturel/models.py:466 +#: agenda_culturel/models.py:2120 msgid "Place" msgstr "Lieu" @@ -294,7 +294,7 @@ msgstr "" msgid "Header" msgstr "Entête" -#: agenda_culturel/forms.py:751 agenda_culturel/models.py:438 +#: agenda_culturel/forms.py:751 agenda_culturel/models.py:439 msgid "Address" msgstr "Adresse" @@ -310,83 +310,83 @@ msgstr "Informations" msgid "Add a comment" msgstr "Ajouter un commentaire" -#: agenda_culturel/models.py:58 agenda_culturel/models.py:106 -#: agenda_culturel/models.py:187 agenda_culturel/models.py:408 -#: agenda_culturel/models.py:436 agenda_culturel/models.py:523 -#: agenda_culturel/models.py:1808 agenda_culturel/models.py:1886 +#: agenda_culturel/models.py:59 agenda_culturel/models.py:107 +#: agenda_culturel/models.py:188 agenda_culturel/models.py:409 +#: agenda_culturel/models.py:437 agenda_culturel/models.py:524 +#: agenda_culturel/models.py:1815 agenda_culturel/models.py:1893 msgid "Name" msgstr "Nom" -#: agenda_culturel/models.py:59 agenda_culturel/models.py:106 +#: agenda_culturel/models.py:60 agenda_culturel/models.py:107 msgid "Category name" msgstr "Nom de la catégorie" -#: agenda_culturel/models.py:64 +#: agenda_culturel/models.py:65 msgid "Content" msgstr "Contenu" -#: agenda_culturel/models.py:64 +#: agenda_culturel/models.py:65 msgid "Text as shown to the visitors" msgstr "Texte tel que présenté aux visiteureuses" -#: agenda_culturel/models.py:68 +#: agenda_culturel/models.py:69 msgid "URL path" msgstr "Chemin URL" -#: agenda_culturel/models.py:69 +#: agenda_culturel/models.py:70 msgid "URL path where the content is included." msgstr "Chemin URL où le contenu est présent." -#: agenda_culturel/models.py:73 +#: agenda_culturel/models.py:74 msgid "Static content" msgstr "Contenu statique" -#: agenda_culturel/models.py:74 +#: agenda_culturel/models.py:75 msgid "Static contents" msgstr "Contenus statiques" -#: agenda_culturel/models.py:110 +#: agenda_culturel/models.py:111 msgid "Color" msgstr "Couleur" -#: agenda_culturel/models.py:111 +#: agenda_culturel/models.py:112 msgid "Color used as background for the category" msgstr "Couleur utilisée comme fond de la catégorie" -#: agenda_culturel/models.py:117 +#: agenda_culturel/models.py:118 msgid "Pictogram" msgstr "Pictogramme" -#: agenda_culturel/models.py:118 +#: agenda_culturel/models.py:119 msgid "Pictogram of the category (svg format)" msgstr "Pictogramme de la catégorie (format svg)" -#: agenda_culturel/models.py:125 +#: agenda_culturel/models.py:126 msgid "Position for ordering categories" msgstr "Position pour ordonner les catégories" -#: agenda_culturel/models.py:178 +#: agenda_culturel/models.py:179 msgid "Categories" msgstr "Catégories" -#: agenda_culturel/models.py:187 +#: agenda_culturel/models.py:188 msgid "Tag name" msgstr "Nom de l'étiquette" -#: agenda_culturel/models.py:192 agenda_culturel/models.py:448 -#: agenda_culturel/models.py:535 agenda_culturel/models.py:666 +#: agenda_culturel/models.py:193 agenda_culturel/models.py:449 +#: agenda_culturel/models.py:536 agenda_culturel/models.py:667 msgid "Description" msgstr "Description" -#: agenda_culturel/models.py:193 +#: agenda_culturel/models.py:194 msgid "Description of the tag" msgstr "Description de l'étiquette" -#: agenda_culturel/models.py:199 +#: agenda_culturel/models.py:200 msgid "Principal" msgstr "Principal" -#: agenda_culturel/models.py:200 +#: agenda_culturel/models.py:201 msgid "" "This tag is highlighted as a main tag for visitors, particularly in the " "filter." @@ -394,91 +394,91 @@ msgstr "" "Cette étiquette est mise en avant comme étiquette principale pour les " "visiteurs, en particulier dans le filtre." -#: agenda_culturel/models.py:205 +#: agenda_culturel/models.py:206 msgid "In excluded suggestions" msgstr "Dans les suggestions d'exclusion" -#: agenda_culturel/models.py:206 +#: agenda_culturel/models.py:207 msgid "This tag will be part of the excluded suggestions." msgstr "Cette étiquette fera partie des suggestions d'exclusion." -#: agenda_culturel/models.py:211 +#: agenda_culturel/models.py:212 msgid "In included suggestions" msgstr "Dans les suggestions d'inclusion." -#: agenda_culturel/models.py:212 +#: agenda_culturel/models.py:213 msgid "This tag will be part of the included suggestions." msgstr "Cette étiquette fera partie des suggestions d'inclusion." -#: agenda_culturel/models.py:217 +#: agenda_culturel/models.py:218 msgid "Tag" msgstr "Étiquette" -#: agenda_culturel/models.py:263 +#: agenda_culturel/models.py:264 msgid "Suggestions" msgstr "Suggestions" -#: agenda_culturel/models.py:264 +#: agenda_culturel/models.py:265 msgid "Others" msgstr "Autres" -#: agenda_culturel/models.py:279 +#: agenda_culturel/models.py:280 msgid "Representative event" msgstr "Événement représentatif" -#: agenda_culturel/models.py:280 +#: agenda_culturel/models.py:281 msgid "This event is the representative event of the duplicated events group" msgstr "" "Cet événement est l'événement représentatif du groupe d'événements dupliqués." -#: agenda_culturel/models.py:287 agenda_culturel/models.py:288 +#: agenda_culturel/models.py:288 agenda_culturel/models.py:289 msgid "Duplicated events" msgstr "Événements dupliqués" -#: agenda_culturel/models.py:408 +#: agenda_culturel/models.py:409 msgid "Name of the location" msgstr "Nom de la position" -#: agenda_culturel/models.py:411 +#: agenda_culturel/models.py:412 msgid "Main" msgstr "Principale" -#: agenda_culturel/models.py:412 +#: agenda_culturel/models.py:413 msgid "This location is one of the main locations (shown first higher values)." msgstr "" "Cette position est une position principale (affichage en premier des plus " "grandes valeurs)." -#: agenda_culturel/models.py:416 +#: agenda_culturel/models.py:417 msgid "Suggested distance (km)" msgstr "" -#: agenda_culturel/models.py:417 +#: agenda_culturel/models.py:418 msgid "" "If this distance is given, this location is part of the suggested filters." msgstr "" -#: agenda_culturel/models.py:423 +#: agenda_culturel/models.py:424 msgid "Reference location" msgstr "Position de référence" -#: agenda_culturel/models.py:424 +#: agenda_culturel/models.py:425 msgid "Reference locations" msgstr "Positions de référence" -#: agenda_culturel/models.py:436 +#: agenda_culturel/models.py:437 msgid "Name of the place" msgstr "Nom du lieu" -#: agenda_culturel/models.py:439 +#: agenda_culturel/models.py:440 msgid "Address of this place (without city name)" msgstr "Adresse de ce lieu (sans le nom de la ville)" -#: agenda_culturel/models.py:443 +#: agenda_culturel/models.py:444 msgid "Postcode" msgstr "Code postal" -#: agenda_culturel/models.py:443 +#: agenda_culturel/models.py:444 msgid "" "The post code is not displayed, but makes it easier to find an address when " "you enter it." @@ -486,23 +486,23 @@ msgstr "" "Le code postal ne sera pas affiché, mais facilite la recherche d'adresse au " "moment de la saisie." -#: agenda_culturel/models.py:444 +#: agenda_culturel/models.py:445 msgid "City" msgstr "Ville" -#: agenda_culturel/models.py:444 +#: agenda_culturel/models.py:445 msgid "City name" msgstr "Nom de la ville" -#: agenda_culturel/models.py:449 +#: agenda_culturel/models.py:450 msgid "Description of the place, including accessibility." msgstr "Description du lieu, inclus l'accessibilité." -#: agenda_culturel/models.py:456 +#: agenda_culturel/models.py:457 msgid "Alternative names" msgstr "Noms alternatifs" -#: agenda_culturel/models.py:458 +#: agenda_culturel/models.py:459 msgid "" "Alternative names or addresses used to match a place with the free-form " "location of an event." @@ -510,31 +510,31 @@ msgstr "" "Noms et adresses alternatives qui seront utilisées pour associer une adresse " "avec la localisation en forme libre d'un événement" -#: agenda_culturel/models.py:466 +#: agenda_culturel/models.py:467 msgid "Places" msgstr "Lieux" -#: agenda_culturel/models.py:523 +#: agenda_culturel/models.py:524 msgid "Organisation name" msgstr "Nom de l'organisme" -#: agenda_culturel/models.py:527 +#: agenda_culturel/models.py:528 msgid "Website" msgstr "Site internet" -#: agenda_culturel/models.py:528 +#: agenda_culturel/models.py:529 msgid "Website of the organisation" msgstr "Site internet de l'organisme" -#: agenda_culturel/models.py:536 +#: agenda_culturel/models.py:537 msgid "Description of the organisation." msgstr "Description de l'organisme" -#: agenda_culturel/models.py:543 +#: agenda_culturel/models.py:544 msgid "Principal place" msgstr "Lieu principal" -#: agenda_culturel/models.py:544 +#: agenda_culturel/models.py:545 msgid "" "Place mainly associated with this organizer. Mainly used if there is a " "similarity in the name, to avoid redundant displays." @@ -542,75 +542,75 @@ msgstr "" "Lieu principalement associé à cet organisateur. Principalement utilisé s'il " "y a une similarité de nom, pour éviter les affichages redondants." -#: agenda_culturel/models.py:551 +#: agenda_culturel/models.py:552 msgid "Organisation" msgstr "Organisme" -#: agenda_culturel/models.py:552 +#: agenda_culturel/models.py:553 msgid "Organisations" msgstr "Organismes" -#: agenda_culturel/models.py:564 agenda_culturel/models.py:1927 +#: agenda_culturel/models.py:565 agenda_culturel/models.py:1934 msgid "Published" msgstr "Publié" -#: agenda_culturel/models.py:565 +#: agenda_culturel/models.py:566 msgid "Draft" msgstr "Brouillon" -#: agenda_culturel/models.py:566 +#: agenda_culturel/models.py:567 msgid "Trash" msgstr "Corbeille" -#: agenda_culturel/models.py:575 +#: agenda_culturel/models.py:576 msgid "Author of the event creation" msgstr "Auteur de la création de l'événement" -#: agenda_culturel/models.py:583 +#: agenda_culturel/models.py:584 msgid "Author of the last importation" msgstr "Auteur de la dernière importation" -#: agenda_culturel/models.py:591 +#: agenda_culturel/models.py:592 msgid "Author of the last modification" msgstr "Auteur de la dernière modification" -#: agenda_culturel/models.py:599 +#: agenda_culturel/models.py:600 msgid "Author of the last moderation" msgstr "Auteur de la dernière modération" -#: agenda_culturel/models.py:610 +#: agenda_culturel/models.py:611 msgid "Title" msgstr "Titre" -#: agenda_culturel/models.py:614 agenda_culturel/models.py:2029 +#: agenda_culturel/models.py:615 agenda_culturel/models.py:2036 msgid "Status" msgstr "Status" -#: agenda_culturel/models.py:626 +#: agenda_culturel/models.py:627 msgid "Start day" msgstr "Date de début" -#: agenda_culturel/models.py:629 +#: agenda_culturel/models.py:630 msgid "Start time" msgstr "Heure de début" -#: agenda_culturel/models.py:635 +#: agenda_culturel/models.py:636 msgid "End day" msgstr "Date de fin" -#: agenda_culturel/models.py:640 +#: agenda_culturel/models.py:641 msgid "End time" msgstr "Heure de fin" -#: agenda_culturel/models.py:644 +#: agenda_culturel/models.py:645 msgid "Recurrence" msgstr "Récurrence" -#: agenda_culturel/models.py:655 +#: agenda_culturel/models.py:656 msgid "Location (free form)" msgstr "Localisation (forme libre)" -#: agenda_culturel/models.py:657 +#: agenda_culturel/models.py:658 msgid "" "Address of the event in case its not available in the already known places " "(free form)" @@ -618,11 +618,11 @@ msgstr "" "Addresse d'un événement si elle n'est pas déjà présente dans la liste des " "lieux disponible (forme libre)" -#: agenda_culturel/models.py:674 +#: agenda_culturel/models.py:675 msgid "Organisers" msgstr "Organisateurs" -#: agenda_culturel/models.py:676 +#: agenda_culturel/models.py:677 msgid "" "list of event organisers. Organizers will only be displayed if one of them " "does not normally use the venue." @@ -630,191 +630,191 @@ msgstr "" "Liste des organisateurs de l'événements. Les organisateurs seront affichés " "uniquement si au moins un d'entre eux n'utilise pas habituellement le lieu." -#: agenda_culturel/models.py:689 +#: agenda_culturel/models.py:690 msgid "Illustration (URL)" msgstr "Illustration (URL)" -#: agenda_culturel/models.py:690 +#: agenda_culturel/models.py:691 msgid "External URL of the illustration image" msgstr "URL externe de l'image illustrative" -#: agenda_culturel/models.py:696 +#: agenda_culturel/models.py:697 msgid "Illustration description" msgstr "Description de l'illustration" -#: agenda_culturel/models.py:697 +#: agenda_culturel/models.py:698 msgid "Alternative text used by screen readers for the image" msgstr "Texte alternatif utiliser par les lecteurs d'écrans pour l'image" -#: agenda_culturel/models.py:705 +#: agenda_culturel/models.py:706 msgid "Importation source" msgstr "Source d'importation" -#: agenda_culturel/models.py:706 +#: agenda_culturel/models.py:707 msgid "Importation source used to detect removed entries." msgstr "Source d'importation utilisée pour détecter les éléments supprimés/" -#: agenda_culturel/models.py:712 +#: agenda_culturel/models.py:713 msgid "UUIDs" msgstr "UUIDs" -#: agenda_culturel/models.py:713 +#: agenda_culturel/models.py:714 msgid "UUIDs from import to detect duplicated entries." msgstr "UUIDs utilisés pendant l'import pour détecter les entrées dupliquées" -#: agenda_culturel/models.py:719 +#: agenda_culturel/models.py:720 msgid "URLs" msgstr "URLs" -#: agenda_culturel/models.py:720 +#: agenda_culturel/models.py:721 msgid "List of all the urls where this event can be found." msgstr "Liste de toutes les urls où l'événement peut être trouvé." -#: agenda_culturel/models.py:734 +#: agenda_culturel/models.py:735 msgid "Other versions" msgstr "" -#: agenda_culturel/models.py:803 +#: agenda_culturel/models.py:804 msgid "Events" msgstr "Événements" -#: agenda_culturel/models.py:1773 agenda_culturel/models.py:1821 +#: agenda_culturel/models.py:1780 agenda_culturel/models.py:1828 msgid "Message" msgstr "Message" -#: agenda_culturel/models.py:1774 +#: agenda_culturel/models.py:1781 msgid "Messages" msgstr "Messages" -#: agenda_culturel/models.py:1785 +#: agenda_culturel/models.py:1792 msgid "Subject" msgstr "Sujet" -#: agenda_culturel/models.py:1786 +#: agenda_culturel/models.py:1793 msgid "The subject of your message" msgstr "Sujet de votre message" -#: agenda_culturel/models.py:1792 +#: agenda_culturel/models.py:1799 msgid "Related event" msgstr "Événement associé" -#: agenda_culturel/models.py:1793 +#: agenda_culturel/models.py:1800 msgid "The message is associated with this event." msgstr "Le message est associé à cet événement." -#: agenda_culturel/models.py:1801 +#: agenda_culturel/models.py:1808 msgid "Author of the message" msgstr "Auteur du message" -#: agenda_culturel/models.py:1809 +#: agenda_culturel/models.py:1816 msgid "Your name" msgstr "Votre nom" -#: agenda_culturel/models.py:1815 +#: agenda_culturel/models.py:1822 msgid "Email address" msgstr "Adresse email" -#: agenda_culturel/models.py:1816 +#: agenda_culturel/models.py:1823 msgid "Your email address" msgstr "Votre adresse email" -#: agenda_culturel/models.py:1821 +#: agenda_culturel/models.py:1828 msgid "Your message" msgstr "Votre message" -#: agenda_culturel/models.py:1827 +#: agenda_culturel/models.py:1834 msgid "This message is a spam." msgstr "Ce message est un spam." -#: agenda_culturel/models.py:1834 +#: agenda_culturel/models.py:1841 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:1839 +#: agenda_culturel/models.py:1846 msgid "Comments" msgstr "Commentaires" -#: agenda_culturel/models.py:1840 +#: agenda_culturel/models.py:1847 msgid "Comments on the message from the moderation team" msgstr "Commentaires sur ce message par l'équipe de modération" -#: agenda_culturel/models.py:1855 agenda_culturel/models.py:2009 +#: agenda_culturel/models.py:1862 agenda_culturel/models.py:2016 msgid "Recurrent import" msgstr "Import récurrent" -#: agenda_culturel/models.py:1856 +#: agenda_culturel/models.py:1863 msgid "Recurrent imports" msgstr "Imports récurrents" -#: agenda_culturel/models.py:1860 +#: agenda_culturel/models.py:1867 msgid "ical" msgstr "ical" -#: agenda_culturel/models.py:1861 +#: agenda_culturel/models.py:1868 msgid "ical no busy" msgstr "ical sans busy" -#: agenda_culturel/models.py:1862 +#: agenda_culturel/models.py:1869 msgid "ical no VC" msgstr "ical sans VC" -#: agenda_culturel/models.py:1863 +#: agenda_culturel/models.py:1870 msgid "lacoope.org" msgstr "lacoope.org" -#: agenda_culturel/models.py:1864 +#: agenda_culturel/models.py:1871 msgid "la comédie" msgstr "la comédie" -#: agenda_culturel/models.py:1865 +#: agenda_culturel/models.py:1872 msgid "le fotomat" msgstr "le fotomat" -#: agenda_culturel/models.py:1866 +#: agenda_culturel/models.py:1873 msgid "la puce à l'oreille" msgstr "la puce à loreille" -#: agenda_culturel/models.py:1867 +#: agenda_culturel/models.py:1874 msgid "Plugin wordpress MEC" msgstr "Plugin wordpress MEC" -#: agenda_culturel/models.py:1868 +#: agenda_culturel/models.py:1875 msgid "Événements d'une page FB" msgstr "Événements d'une page FB" -#: agenda_culturel/models.py:1869 +#: agenda_culturel/models.py:1876 msgid "la cour des 3 coquins" msgstr "la cour des 3 coquins" -#: agenda_culturel/models.py:1870 +#: agenda_culturel/models.py:1877 msgid "Arachnée concert" msgstr "Arachnée concert" -#: agenda_culturel/models.py:1871 +#: agenda_culturel/models.py:1878 msgid "Le Rio" msgstr "Le Rio" -#: agenda_culturel/models.py:1874 +#: agenda_culturel/models.py:1881 msgid "simple" msgstr "simple" -#: agenda_culturel/models.py:1875 +#: agenda_culturel/models.py:1882 msgid "Headless Chromium" msgstr "chromium sans interface" -#: agenda_culturel/models.py:1876 +#: agenda_culturel/models.py:1883 msgid "Headless Chromium (pause)" msgstr "chromium sans interface (pause)" -#: agenda_culturel/models.py:1881 +#: agenda_culturel/models.py:1888 msgid "daily" msgstr "chaque jour" -#: agenda_culturel/models.py:1883 +#: agenda_culturel/models.py:1890 msgid "weekly" msgstr "chaque semaine" -#: agenda_culturel/models.py:1888 +#: agenda_culturel/models.py:1895 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." @@ -822,143 +822,143 @@ 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:1895 +#: agenda_culturel/models.py:1902 msgid "Processor" msgstr "Processeur" -#: agenda_culturel/models.py:1898 +#: agenda_culturel/models.py:1905 msgid "Downloader" msgstr "Téléchargeur" -#: agenda_culturel/models.py:1905 +#: agenda_culturel/models.py:1912 msgid "Import recurrence" msgstr "Récurrence d'import" -#: agenda_culturel/models.py:1912 +#: agenda_culturel/models.py:1919 msgid "Source" msgstr "Source" -#: agenda_culturel/models.py:1913 +#: agenda_culturel/models.py:1920 msgid "URL of the source document" msgstr "URL du document source" -#: agenda_culturel/models.py:1917 +#: agenda_culturel/models.py:1924 msgid "Browsable url" msgstr "URL navigable" -#: agenda_culturel/models.py:1919 +#: agenda_culturel/models.py:1926 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:1928 +#: agenda_culturel/models.py:1935 msgid "Status of each imported event (published or draft)" msgstr "Status de chaque événement importé (publié ou brouillon)" -#: agenda_culturel/models.py:1933 +#: agenda_culturel/models.py:1940 msgid "Address for each imported event" msgstr "Adresse de chaque événement importé" -#: agenda_culturel/models.py:1941 +#: agenda_culturel/models.py:1948 msgid "Organiser" msgstr "Organisateur" -#: agenda_culturel/models.py:1942 +#: agenda_culturel/models.py:1949 msgid "Organiser of each imported event" msgstr "Organisateur de chaque événement importé" -#: agenda_culturel/models.py:1952 +#: agenda_culturel/models.py:1959 msgid "Category of each imported event" msgstr "Catégorie de chaque événement importé" -#: agenda_culturel/models.py:1960 +#: agenda_culturel/models.py:1967 msgid "Tags for each imported event" msgstr "Étiquettes de chaque événement importé" -#: agenda_culturel/models.py:1961 +#: agenda_culturel/models.py:1968 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:1990 +#: agenda_culturel/models.py:1997 msgid "Running" msgstr "En cours" -#: agenda_culturel/models.py:1991 +#: agenda_culturel/models.py:1998 msgid "Canceled" msgstr "Annulé" -#: agenda_culturel/models.py:1992 +#: agenda_culturel/models.py:1999 msgid "Success" msgstr "Succès" -#: agenda_culturel/models.py:1993 +#: agenda_culturel/models.py:2000 msgid "Failed" msgstr "Erreur" -#: agenda_culturel/models.py:1996 +#: agenda_culturel/models.py:2003 msgid "Batch importation" msgstr "Importation par lot" -#: agenda_culturel/models.py:1997 +#: agenda_culturel/models.py:2004 msgid "Batch importations" msgstr "Importations par lot" -#: agenda_culturel/models.py:2010 +#: agenda_culturel/models.py:2017 msgid "Reference to the recurrent import processing" msgstr "Référence du processus d'import récurrent" -#: agenda_culturel/models.py:2018 +#: agenda_culturel/models.py:2025 msgid "URL (if not recurrent import)" msgstr "URL (si pas d'import récurrent)" -#: agenda_culturel/models.py:2020 +#: agenda_culturel/models.py:2027 msgid "Source URL if no RecurrentImport is associated." msgstr "URL source si aucun import récurrent n'est associé" -#: agenda_culturel/models.py:2033 +#: agenda_culturel/models.py:2040 msgid "Error message" msgstr "Votre message" -#: agenda_culturel/models.py:2037 +#: agenda_culturel/models.py:2044 msgid "Number of collected events" msgstr "Nombre d'événements collectés" -#: agenda_culturel/models.py:2040 +#: agenda_culturel/models.py:2047 msgid "Number of imported events" msgstr "Nombre d'événements importés" -#: agenda_culturel/models.py:2043 +#: agenda_culturel/models.py:2050 msgid "Number of updated events" msgstr "Nombre d'événements mis à jour" -#: agenda_culturel/models.py:2046 +#: agenda_culturel/models.py:2053 msgid "Number of removed events" msgstr "Nombre d'événements supprimés" -#: agenda_culturel/models.py:2054 +#: agenda_culturel/models.py:2061 msgid "Weight" msgstr "Poids" -#: agenda_culturel/models.py:2055 +#: agenda_culturel/models.py:2062 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:2062 +#: agenda_culturel/models.py:2069 msgid "Category applied to the event" msgstr "Catégorie appliquée à l'événement" -#: agenda_culturel/models.py:2067 +#: agenda_culturel/models.py:2074 msgid "Contained in the title" msgstr "Contenu dans le titre" -#: agenda_culturel/models.py:2068 +#: agenda_culturel/models.py:2075 msgid "Text contained in the event title" msgstr "Texte contenu dans le titre de l'événement" -#: agenda_culturel/models.py:2074 +#: agenda_culturel/models.py:2081 msgid "Exact title extract" msgstr "Extrait exact du titre" -#: agenda_culturel/models.py:2076 +#: agenda_culturel/models.py:2083 msgid "" "If checked, the extract will be searched for in the title using the exact " "form (capitals, accents)." @@ -966,19 +966,19 @@ msgstr "" "Si coché, l'extrait sera recherché dans le titre en utilisant la forme " "exacte (majuscules, accents)" -#: agenda_culturel/models.py:2082 +#: agenda_culturel/models.py:2089 msgid "Contained in the description" msgstr "Contenu dans la description" -#: agenda_culturel/models.py:2083 +#: agenda_culturel/models.py:2090 msgid "Text contained in the description" msgstr "Texte contenu dans la description" -#: agenda_culturel/models.py:2089 +#: agenda_culturel/models.py:2096 msgid "Exact description extract" msgstr "Extrait exact de description" -#: agenda_culturel/models.py:2091 +#: agenda_culturel/models.py:2098 msgid "" "If checked, the extract will be searched for in the description using the " "exact form (capitals, accents)." @@ -986,19 +986,19 @@ msgstr "" "Si coché, l'extrait sera recherché dans la description en utilisant la forme " "exacte (majuscules, accents)" -#: agenda_culturel/models.py:2097 +#: agenda_culturel/models.py:2104 msgid "Contained in the location" msgstr "Contenu dans la localisation" -#: agenda_culturel/models.py:2098 +#: agenda_culturel/models.py:2105 msgid "Text contained in the event location" msgstr "Texte contenu dans la localisation de l'événement" -#: agenda_culturel/models.py:2104 +#: agenda_culturel/models.py:2111 msgid "Exact location extract" msgstr "Extrait exact de localisation" -#: agenda_culturel/models.py:2106 +#: agenda_culturel/models.py:2113 msgid "" "If checked, the extract will be searched for in the location using the exact " "form (capitals, accents)." @@ -1006,19 +1006,19 @@ msgstr "" "Si coché, l'extrait sera recherché dans la localisation en utilisant la " "forme exacte (majuscules, accents)" -#: agenda_culturel/models.py:2114 +#: agenda_culturel/models.py:2121 msgid "Location from place" msgstr "Localisation depuis le lieu" -#: agenda_culturel/models.py:2123 +#: agenda_culturel/models.py:2130 msgid "Categorisation rule" msgstr "Règle de catégorisation" -#: agenda_culturel/models.py:2124 +#: agenda_culturel/models.py:2131 msgid "Categorisation rules" msgstr "Règles de catégorisation" -#: agenda_culturel/settings/base.py:152 +#: agenda_culturel/settings/base.py:153 msgid "French" msgstr "français" @@ -1064,23 +1064,23 @@ msgstr "L'événement a été modifié avec succès." msgid "The event {} has been moderated with success." msgstr "L'événement {} a été modéré avec succès." -#: agenda_culturel/views.py:470 +#: agenda_culturel/views.py:480 msgid "The event has been successfully deleted." msgstr "L'événement a été supprimé avec succès." -#: agenda_culturel/views.py:512 +#: agenda_culturel/views.py:522 msgid "Comment" msgstr "Commentaire" -#: agenda_culturel/views.py:531 +#: agenda_culturel/views.py:541 msgid "The status has been successfully modified." msgstr "Le status a été modifié avec succès." -#: agenda_culturel/views.py:565 +#: agenda_culturel/views.py:575 msgid "The event was created: {}." msgstr "L'événement a été créé: {}." -#: agenda_culturel/views.py:567 +#: agenda_culturel/views.py:577 msgid "" "The event has been submitted and will be published as soon as it has been " "validated by the moderation team." @@ -1088,82 +1088,82 @@ msgstr "" "L'événement a été soumis et sera publié dès qu'il aura été validé par " "l'équipe de modération." -#: agenda_culturel/views.py:661 agenda_culturel/views.py:713 +#: agenda_culturel/views.py:671 agenda_culturel/views.py:723 msgid "{} has not been submitted since its already known: {}." msgstr "{} n'a pas été soumis car il est déjà connu: {}." -#: agenda_culturel/views.py:666 agenda_culturel/views.py:719 +#: agenda_culturel/views.py:676 agenda_culturel/views.py:729 msgid "" "{} has not been submitted since its already known and currently into " "moderation process." msgstr "{} n'a pas été soumis car il est déjà connu et en cours de modération" -#: agenda_culturel/views.py:676 +#: agenda_culturel/views.py:686 msgid "Integrating {} url(s) into our import process." msgstr "Intégration de {} url(s) dans notre processus d'import." -#: agenda_culturel/views.py:726 +#: agenda_culturel/views.py:736 msgid "Integrating {} into our import process." msgstr "Intégration de {} dans notre processus d'import." -#: agenda_culturel/views.py:784 +#: agenda_culturel/views.py:794 msgid "Your message has been sent successfully." msgstr "Votre message a été envoyé avec succès." -#: agenda_culturel/views.py:812 +#: agenda_culturel/views.py:822 msgid "Reporting the event {} on {}" msgstr "Signaler l'événement {} du {}" -#: agenda_culturel/views.py:822 +#: agenda_culturel/views.py:832 msgid "The contact message has been successfully deleted." msgstr "Le message de contact a été supprimé avec succès." -#: agenda_culturel/views.py:836 +#: agenda_culturel/views.py:846 msgid "The contact message properties has been successfully modified." msgstr "Les propriétés du message de contact ont été modifié avec succès." -#: agenda_culturel/views.py:973 +#: agenda_culturel/views.py:1015 msgid "Spam has been successfully deleted." msgstr "Le spam a été supprimé avec succès" -#: agenda_culturel/views.py:1096 +#: agenda_culturel/views.py:1138 msgid "The import has been run successfully." msgstr "L'import a été lancé avec succès" -#: agenda_culturel/views.py:1115 +#: agenda_culturel/views.py:1157 msgid "The import has been canceled." msgstr "L'import a été annulé" -#: agenda_culturel/views.py:1193 +#: agenda_culturel/views.py:1235 msgid "The recurrent import has been successfully modified." msgstr "L'import récurrent a été modifié avec succès." -#: agenda_culturel/views.py:1202 +#: agenda_culturel/views.py:1244 msgid "The recurrent import has been successfully deleted." msgstr "L'import récurrent a été supprimé avec succès" -#: agenda_culturel/views.py:1242 +#: agenda_culturel/views.py:1284 msgid "The import has been launched." msgstr "L'import a été lancé" -#: agenda_culturel/views.py:1264 +#: agenda_culturel/views.py:1306 msgid "Imports has been launched." msgstr "Les imports ont été lancés" -#: agenda_culturel/views.py:1326 +#: agenda_culturel/views.py:1368 msgid "Update successfully completed." msgstr "Mise à jour réalisée avec succès." -#: agenda_culturel/views.py:1387 +#: agenda_culturel/views.py:1429 msgid "Creation of a merged event has been successfully completed." msgstr "Création d'un événement fusionné réalisée avec succès." -#: agenda_culturel/views.py:1423 +#: agenda_culturel/views.py:1465 msgid "Events have been marked as unduplicated." msgstr "Les événements ont été marqués comme non dupliqués." -#: agenda_culturel/views.py:1437 agenda_culturel/views.py:1446 -#: agenda_culturel/views.py:1464 +#: agenda_culturel/views.py:1479 agenda_culturel/views.py:1488 +#: agenda_culturel/views.py:1506 msgid "" "The selected item is no longer included in the list of duplicates. Someone " "else has probably modified the list in the meantime." @@ -1171,23 +1171,23 @@ msgstr "" "L'élément sélectionné ne fait plus partie de la liste des dupliqués. Une " "autre personne a probablement modifié la liste entre temps." -#: agenda_culturel/views.py:1440 +#: agenda_culturel/views.py:1482 msgid "The selected event has been set as representative" msgstr "L'événement sélectionné a été défini comme representatif." -#: agenda_culturel/views.py:1455 +#: agenda_culturel/views.py:1497 msgid "The event has been withdrawn from the group and made independent." msgstr "L'événement a été retiré du groupe et rendu indépendant." -#: agenda_culturel/views.py:1499 +#: agenda_culturel/views.py:1541 msgid "Cleaning up duplicates: {} item(s) fixed." msgstr "Nettoyage des dupliqués: {} élément(s) corrigé(s)." -#: agenda_culturel/views.py:1548 +#: agenda_culturel/views.py:1590 msgid "The event was successfully duplicated." msgstr "L'événement a été marqué dupliqué avec succès." -#: agenda_culturel/views.py:1556 +#: agenda_culturel/views.py:1598 msgid "" "The event has been successfully flagged as a duplicate. The moderation team " "will deal with your suggestion shortly." @@ -1195,32 +1195,32 @@ msgstr "" "L'événement a été signalé comme dupliqué avec succès. Votre suggestion sera " "prochainement prise en charge par l'équipe de modération." -#: agenda_culturel/views.py:1609 +#: agenda_culturel/views.py:1651 msgid "The categorisation rule has been successfully modified." msgstr "La règle de catégorisation a été modifiée avec succès." -#: agenda_culturel/views.py:1618 +#: agenda_culturel/views.py:1660 msgid "The categorisation rule has been successfully deleted." msgstr "La règle de catégorisation a été supprimée avec succès" -#: agenda_culturel/views.py:1640 +#: agenda_culturel/views.py:1682 msgid "The rules were successfully applied and 1 event was categorised." msgstr "" "Les règles ont été appliquées avec succès et 1 événement a été catégorisé" -#: agenda_culturel/views.py:1647 +#: agenda_culturel/views.py:1689 msgid "The rules were successfully applied and {} events were categorised." msgstr "" "Les règles ont été appliquées avec succès et {} événements ont été " "catégorisés" -#: agenda_culturel/views.py:1654 agenda_culturel/views.py:1707 +#: agenda_culturel/views.py:1696 agenda_culturel/views.py:1749 msgid "The rules were successfully applied and no events were categorised." msgstr "" "Les règles ont été appliquées avec succès et aucun événement n'a été " "catégorisé" -#: agenda_culturel/views.py:1693 +#: agenda_culturel/views.py:1735 msgid "" "The rules were successfully applied and 1 event with default category was " "categorised." @@ -1228,7 +1228,7 @@ msgstr "" "Les règles ont été appliquées avec succès et 1 événement avec catégorie par " "défaut a été catégorisé" -#: agenda_culturel/views.py:1700 +#: agenda_culturel/views.py:1742 msgid "" "The rules were successfully applied and {} events with default category were " "categorised." @@ -1236,58 +1236,58 @@ msgstr "" "Les règles ont été appliquées avec succès et {} événements avec catégorie " "par défaut ont été catégorisés" -#: agenda_culturel/views.py:1792 agenda_culturel/views.py:1854 -#: agenda_culturel/views.py:1892 +#: agenda_culturel/views.py:1834 agenda_culturel/views.py:1896 +#: agenda_culturel/views.py:1934 msgid "{} events have been updated." msgstr "{} événements ont été mis à jour." -#: agenda_culturel/views.py:1795 agenda_culturel/views.py:1856 -#: agenda_culturel/views.py:1895 +#: agenda_culturel/views.py:1837 agenda_culturel/views.py:1898 +#: agenda_culturel/views.py:1937 msgid "1 event has been updated." msgstr "1 événement a été mis à jour" -#: agenda_culturel/views.py:1797 agenda_culturel/views.py:1858 -#: agenda_culturel/views.py:1897 +#: agenda_culturel/views.py:1839 agenda_culturel/views.py:1900 +#: agenda_culturel/views.py:1939 msgid "No events have been modified." msgstr "Aucun événement n'a été modifié." -#: agenda_culturel/views.py:1806 +#: agenda_culturel/views.py:1848 msgid "The place has been successfully updated." msgstr "Le lieu a été modifié avec succès." -#: agenda_culturel/views.py:1815 +#: agenda_culturel/views.py:1857 msgid "The place has been successfully created." msgstr "Le lieu a été créé avec succès." -#: agenda_culturel/views.py:1880 +#: agenda_culturel/views.py:1922 msgid "The selected place has been assigned to the event." msgstr "Le lieu sélectionné a été assigné à l'événement." -#: agenda_culturel/views.py:1884 +#: agenda_culturel/views.py:1926 msgid "A new alias has been added to the selected place." msgstr "Un nouvel alias a été créé pour le lieu sélectionné." -#: agenda_culturel/views.py:1986 +#: agenda_culturel/views.py:2028 msgid "The organisation has been successfully updated." msgstr "L'organisme a été modifié avec succès." -#: agenda_culturel/views.py:1995 +#: agenda_culturel/views.py:2037 msgid "The organisation has been successfully created." msgstr "L'organisme a été créé avec succès." -#: agenda_culturel/views.py:2012 +#: agenda_culturel/views.py:2054 msgid "The tag has been successfully updated." msgstr "L'étiquette a été modifiée avec succès." -#: agenda_culturel/views.py:2019 +#: agenda_culturel/views.py:2061 msgid "The tag has been successfully created." msgstr "L'étiquette a été créée avec succès." -#: agenda_culturel/views.py:2083 +#: agenda_culturel/views.py:2125 msgid "You have not modified the tag name." msgstr "Vous n'avez pas modifié le nom de l'étiquette." -#: agenda_culturel/views.py:2093 +#: agenda_culturel/views.py:2135 msgid "" "This tag {} is already in use, and is described by different information " "from the current tag. You can force renaming by checking the corresponding " @@ -1300,7 +1300,7 @@ msgstr "" "sera supprimée, et tous les événements associés à l'étiquette {} seront " "associés à l'étiquette {}." -#: agenda_culturel/views.py:2100 +#: agenda_culturel/views.py:2142 msgid "" "This tag {} is already in use. You can force renaming by checking the " "corresponding option." @@ -1308,10 +1308,14 @@ msgstr "" "Cette étiquette {} est déjà utilisée. Vous pouvez forcer le renommage en " "cochant l'option correspondante." -#: agenda_culturel/views.py:2134 +#: agenda_culturel/views.py:2176 msgid "The tag {} has been successfully renamed to {}." msgstr "L'étiquette {} a été renommée avec succès en {}." -#: agenda_culturel/views.py:2172 +#: agenda_culturel/views.py:2214 msgid "The tag {} has been successfully deleted." msgstr "L'événement {} a été supprimé avec succès." + +#: agenda_culturel/views.py:2235 +msgid "Cache successfully cleared." +msgstr "Le cache a été vidé avec succès." diff --git a/src/agenda_culturel/templates/agenda_culturel/clear_cache.html b/src/agenda_culturel/templates/agenda_culturel/clear_cache.html new file mode 100644 index 0000000..ba440c7 --- /dev/null +++ b/src/agenda_culturel/templates/agenda_culturel/clear_cache.html @@ -0,0 +1,27 @@ +{% extends "agenda_culturel/page-admin.html" %} + + +{% block fluid %}{% endblock %} + +{% block content %} + +
+
+

{% block title %}{% block og_title %}Vider le cache{% endblock %}{% endblock %}

+
+
{% csrf_token %} +

Êtes-vous sûr·e de vouloir vider le cache ? Toutes les pages seront + générées lors de leur consultation, mais cela peut ralentir temporairemenet l'expérience de navigation. +

+ {{ form }} + + +
+
+ +{% endblock %} \ No newline at end of file diff --git a/src/agenda_culturel/templates/agenda_culturel/side-nav.html b/src/agenda_culturel/templates/agenda_culturel/side-nav.html index c8b202d..addf657 100644 --- a/src/agenda_culturel/templates/agenda_culturel/side-nav.html +++ b/src/agenda_culturel/templates/agenda_culturel/side-nav.html @@ -68,6 +68,7 @@

Configuration interne

diff --git a/src/agenda_culturel/urls.py b/src/agenda_culturel/urls.py index f032890..7c48397 100644 --- a/src/agenda_culturel/urls.py +++ b/src/agenda_culturel/urls.py @@ -208,6 +208,8 @@ urlpatterns = [ {"sitemaps": sitemaps}, name="django.contrib.sitemaps.views.sitemap", ), + path("cache/clear", clear_cache, name="clear_cache"), + ] if settings.DEBUG: diff --git a/src/agenda_culturel/views.py b/src/agenda_culturel/views.py index d4232f9..2907b38 100644 --- a/src/agenda_culturel/views.py +++ b/src/agenda_culturel/views.py @@ -2227,3 +2227,15 @@ def delete_tag(request, t): "agenda_culturel/tag_confirm_delete_by_name.html", {"tag": t, "nb": nb, "nbi": nbi, "cancel_url": cancel_url, "obj": obj}, ) + + +def clear_cache(request): + if request.method == "POST": + cache.clear() + messages.success(request, _("Cache successfully cleared.")) + return HttpResponseRedirect(reverse_lazy("administration")) + else: + return render( + request, + "agenda_culturel/clear_cache.html", + ) \ No newline at end of file