Amélioration des résultats de recherche (ordre)

Fix #89
This commit is contained in:
Jean-Marie Favreau 2025-01-08 18:29:57 +01:00
parent 482dd9468a
commit 29726e0389
4 changed files with 216 additions and 177 deletions

View File

@ -3,6 +3,8 @@ from django.utils.translation import gettext_lazy as _
from django import forms
from django.contrib.postgres.search import SearchQuery, SearchHeadline
from django.db.models import Count, Q
from datetime import date, timedelta
from django.http import QueryDict
from django.contrib.gis.measure import D
@ -329,7 +331,7 @@ class EventFilterAdmin(django_filters.FilterSet):
representative = django_filters.MultipleChoiceFilter(
label=_("Representative version"),
choices=[(True, _("Yes")), (False, _("Non"))],
choices=[(True, _("Yes")), (False, _("No"))],
method="filter_by_representative",
widget=forms.CheckboxSelectMultiple)
@ -397,6 +399,27 @@ class SimpleSearchEventFilter(django_filters.FilterSet):
widget=forms.CheckboxSelectMultiple,
)
#past = django_filters.BooleanFilter(
# label=_("In the past"),
# method="in_past")
past = django_filters.ChoiceFilter(
label=_("In the past"),
choices=[(False, _("No")), (True, _("Yes"))],
null_label=None,
empty_label=None,
method="in_past",
widget=forms.Select)
def in_past(self, queryset, name, value):
if value and value == "True":
now = date.today()
qs = queryset.filter(start_day__lt=now).order_by("-start_day", "-start_time")
else:
start = date.today() + timedelta(days=-2)
qs = queryset.filter(start_day__gte=start).order_by("start_day", "start_time")
return qs
def custom_filter(self, queryset, name, value):
search_query = SearchQuery(value, config="french")
qs = queryset.filter(

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: agenda_culturel\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-29 16:31+0100\n"
"POT-Creation-Date: 2025-01-08 17:29+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"
@ -90,56 +90,60 @@ msgstr "Après-midi"
msgid "Evening"
msgstr "Soir"
#: agenda_culturel/filters.py:63
#: agenda_culturel/filters.py:65
msgid "Select a location"
msgstr "Choisir une localité"
#: agenda_culturel/filters.py:331
#: agenda_culturel/filters.py:333
msgid "Representative version"
msgstr "Version représentative"
#: agenda_culturel/filters.py:332
#: agenda_culturel/filters.py:334 agenda_culturel/filters.py:407
msgid "Yes"
msgstr "Oui"
#: agenda_culturel/filters.py:332
msgid "Non"
#: agenda_culturel/filters.py:334 agenda_culturel/filters.py:407
msgid "No"
msgstr "Non"
#: agenda_culturel/filters.py:337
#: agenda_culturel/filters.py:339
msgid "Imported from"
msgstr "Importé depuis"
#: agenda_culturel/filters.py:366 agenda_culturel/models.py:622
#: agenda_culturel/models.py:2153
#: agenda_culturel/filters.py:368 agenda_culturel/models.py:622
#: agenda_culturel/models.py:2152
msgid "Status"
msgstr "Status"
#: agenda_culturel/filters.py:367 agenda_culturel/models.py:1943
#: agenda_culturel/filters.py:369 agenda_culturel/models.py:1942
msgid "Closed"
msgstr "Fermé"
#: agenda_culturel/filters.py:367
#: agenda_culturel/filters.py:369
msgid "Open"
msgstr "Ouvert"
#: agenda_culturel/filters.py:371 agenda_culturel/filters.py:372
#: agenda_culturel/models.py:1937
#: agenda_culturel/filters.py:373 agenda_culturel/filters.py:374
#: agenda_culturel/models.py:1936
msgid "Spam"
msgstr "Spam"
#: agenda_culturel/filters.py:372
#: agenda_culturel/filters.py:374
msgid "Non spam"
msgstr "Non spam"
#: agenda_culturel/filters.py:377 agenda_culturel/models.py:1958
#: agenda_culturel/filters.py:379 agenda_culturel/models.py:1957
msgid "Type"
msgstr "Type"
#: agenda_culturel/filters.py:389
#: agenda_culturel/filters.py:391
msgid "Search"
msgstr "Rechercher"
#: agenda_culturel/filters.py:406
msgid "In the past"
msgstr "Dans le passé"
#: agenda_culturel/forms.py:80
msgid "Other"
msgstr "Autres"
@ -159,11 +163,11 @@ msgstr ""
msgid "Your email"
msgstr "Votre adresse email"
#: agenda_culturel/forms.py:135 agenda_culturel/models.py:1927
#: agenda_culturel/forms.py:135 agenda_culturel/models.py:1926
msgid "Your email address"
msgstr "Votre adresse email"
#: agenda_culturel/forms.py:141 agenda_culturel/models.py:1950
#: agenda_culturel/forms.py:141 agenda_culturel/models.py:1949
msgid "Comments"
msgstr "Commentaires"
@ -179,8 +183,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:171 agenda_culturel/models.py:185
#: agenda_culturel/models.py:627 agenda_culturel/models.py:2075
#: agenda_culturel/models.py:2185
#: agenda_culturel/models.py:627 agenda_culturel/models.py:2074
#: agenda_culturel/models.py:2184
msgid "Category"
msgstr "Catégorie"
@ -216,7 +220,7 @@ msgid "Details"
msgstr "Détails"
#: agenda_culturel/forms.py:324 agenda_culturel/models.py:657
#: agenda_culturel/models.py:2050
#: agenda_culturel/models.py:2049
msgid "Location"
msgstr "Localisation"
@ -310,7 +314,7 @@ msgid "Apply category {} to the event {}"
msgstr "Appliquer la catégorie {} à l'événement {}"
#: agenda_culturel/forms.py:746 agenda_culturel/models.py:473
#: agenda_culturel/models.py:2237
#: agenda_culturel/models.py:2236
msgid "Place"
msgstr "Lieu"
@ -351,7 +355,7 @@ msgstr "Ajouter un commentaire"
#: agenda_culturel/models.py:66 agenda_culturel/models.py:114
#: agenda_culturel/models.py:195 agenda_culturel/models.py:416
#: agenda_culturel/models.py:444 agenda_culturel/models.py:531
#: agenda_culturel/models.py:1919 agenda_culturel/models.py:2004
#: agenda_culturel/models.py:1918 agenda_culturel/models.py:2003
msgid "Name"
msgstr "Nom"
@ -588,7 +592,7 @@ msgstr "Organisme"
msgid "Organisations"
msgstr "Organismes"
#: agenda_culturel/models.py:572 agenda_culturel/models.py:2045
#: agenda_culturel/models.py:572 agenda_culturel/models.py:2044
msgid "Published"
msgstr "Publié"
@ -708,11 +712,11 @@ msgstr ""
msgid "Events"
msgstr "Événements"
#: agenda_culturel/models.py:1174
#: agenda_culturel/models.py:1175
msgid "Your event has been published"
msgstr "Ton événement a été publié"
#: agenda_culturel/models.py:1177
#: agenda_culturel/models.py:1178
msgid "Your message has not been retained"
msgstr "Ton événement n'a pas été retenu"
@ -720,15 +724,15 @@ msgstr "Ton événement n'a pas été retenu"
msgid "during import process"
msgstr "pendant le processus d'import"
#: agenda_culturel/models.py:1675
#: agenda_culturel/models.py:1674
msgid "Import"
msgstr "Import"
#: agenda_culturel/models.py:1676
#: agenda_culturel/models.py:1675
msgid "import process"
msgstr "processus d'import"
#: agenda_culturel/models.py:1677
#: agenda_culturel/models.py:1676
msgid ""
"The duration of the event is a little too long for direct publication. "
"Moderators can choose to publish it or not."
@ -736,155 +740,155 @@ 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:1877
#: agenda_culturel/models.py:1876
msgid "From contributor"
msgstr "D'un·e contributeurice"
#: agenda_culturel/models.py:1878
#: agenda_culturel/models.py:1877
msgid "Import process"
msgstr "Processus d'import"
#: agenda_culturel/models.py:1879
#: agenda_culturel/models.py:1878
msgid "Contact form"
msgstr "Formulaire de contact"
#: agenda_culturel/models.py:1880
#: agenda_culturel/models.py:1879
msgid "Event report"
msgstr "Signalemet d'événement"
#: agenda_culturel/models.py:1881
#: agenda_culturel/models.py:1880
msgid "From contributor (without message)"
msgstr "D'un·e contributeurice (sans message)"
#: agenda_culturel/models.py:1884 agenda_culturel/models.py:1932
#: agenda_culturel/models.py:1883 agenda_culturel/models.py:1931
msgid "Message"
msgstr "Message"
#: agenda_culturel/models.py:1885
#: agenda_culturel/models.py:1884
msgid "Messages"
msgstr "Messages"
#: agenda_culturel/models.py:1896
#: agenda_culturel/models.py:1895
msgid "Subject"
msgstr "Sujet"
#: agenda_culturel/models.py:1897
#: agenda_culturel/models.py:1896
msgid "The subject of your message"
msgstr "Sujet de votre message"
#: agenda_culturel/models.py:1903
#: agenda_culturel/models.py:1902
msgid "Related event"
msgstr "Événement associé"
#: agenda_culturel/models.py:1904
#: agenda_culturel/models.py:1903
msgid "The message is associated with this event."
msgstr "Le message est associé à cet événement."
#: agenda_culturel/models.py:1912
#: agenda_culturel/models.py:1911
msgid "Author of the message"
msgstr "Auteur du message"
#: agenda_culturel/models.py:1920
#: agenda_culturel/models.py:1919
msgid "Your name"
msgstr "Votre nom"
#: agenda_culturel/models.py:1926
#: agenda_culturel/models.py:1925
msgid "Email address"
msgstr "Adresse email"
#: agenda_culturel/models.py:1932
#: agenda_culturel/models.py:1931
msgid "Your message"
msgstr "Votre message"
#: agenda_culturel/models.py:1938
#: agenda_culturel/models.py:1937
msgid "This message is a spam."
msgstr "Ce message est un spam."
#: agenda_culturel/models.py:1945
#: agenda_culturel/models.py:1944
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:1951
#: agenda_culturel/models.py:1950
msgid "Comments on the message from the moderation team"
msgstr "Commentaires sur ce message par l'équipe de modération"
#: agenda_culturel/models.py:1973 agenda_culturel/models.py:2133
#: agenda_culturel/models.py:1972 agenda_culturel/models.py:2132
msgid "Recurrent import"
msgstr "Import récurrent"
#: agenda_culturel/models.py:1974
#: agenda_culturel/models.py:1973
msgid "Recurrent imports"
msgstr "Imports récurrents"
#: agenda_culturel/models.py:1978
#: agenda_culturel/models.py:1977
msgid "ical"
msgstr "ical"
#: agenda_culturel/models.py:1979
#: agenda_culturel/models.py:1978
msgid "ical no busy"
msgstr "ical sans busy"
#: agenda_culturel/models.py:1980
#: agenda_culturel/models.py:1979
msgid "ical no VC"
msgstr "ical sans VC"
#: agenda_culturel/models.py:1981
#: agenda_culturel/models.py:1980
msgid "lacoope.org"
msgstr "lacoope.org"
#: agenda_culturel/models.py:1982
#: agenda_culturel/models.py:1981
msgid "la comédie"
msgstr "la comédie"
#: agenda_culturel/models.py:1983
#: agenda_culturel/models.py:1982
msgid "le fotomat"
msgstr "le fotomat"
#: agenda_culturel/models.py:1984
#: agenda_culturel/models.py:1983
msgid "la puce à l'oreille"
msgstr "la puce à loreille"
#: agenda_culturel/models.py:1985
#: agenda_culturel/models.py:1984
msgid "Plugin wordpress MEC"
msgstr "Plugin wordpress MEC"
#: agenda_culturel/models.py:1986
#: agenda_culturel/models.py:1985
msgid "Événements d'une page FB"
msgstr "Événements d'une page FB"
#: agenda_culturel/models.py:1987
#: agenda_culturel/models.py:1986
msgid "la cour des 3 coquins"
msgstr "la cour des 3 coquins"
#: agenda_culturel/models.py:1988
#: agenda_culturel/models.py:1987
msgid "Arachnée concert"
msgstr "Arachnée concert"
#: agenda_culturel/models.py:1989
#: agenda_culturel/models.py:1988
msgid "Le Rio"
msgstr "Le Rio"
#: agenda_culturel/models.py:1992
#: agenda_culturel/models.py:1991
msgid "simple"
msgstr "simple"
#: agenda_culturel/models.py:1993
#: agenda_culturel/models.py:1992
msgid "Headless Chromium"
msgstr "chromium sans interface"
#: agenda_culturel/models.py:1994
#: agenda_culturel/models.py:1993
msgid "Headless Chromium (pause)"
msgstr "chromium sans interface (pause)"
#: agenda_culturel/models.py:1999
#: agenda_culturel/models.py:1998
msgid "daily"
msgstr "chaque jour"
#: agenda_culturel/models.py:2001
#: agenda_culturel/models.py:2000
msgid "weekly"
msgstr "chaque semaine"
#: agenda_culturel/models.py:2006
#: agenda_culturel/models.py:2005
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."
@ -892,151 +896,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:2013
#: agenda_culturel/models.py:2012
msgid "Processor"
msgstr "Processeur"
#: agenda_culturel/models.py:2016
#: agenda_culturel/models.py:2015
msgid "Downloader"
msgstr "Téléchargeur"
#: agenda_culturel/models.py:2023
#: agenda_culturel/models.py:2022
msgid "Import recurrence"
msgstr "Récurrence d'import"
#: agenda_culturel/models.py:2030
#: agenda_culturel/models.py:2029
msgid "Source"
msgstr "Source"
#: agenda_culturel/models.py:2031
#: agenda_culturel/models.py:2030
msgid "URL of the source document"
msgstr "URL du document source"
#: agenda_culturel/models.py:2035
#: agenda_culturel/models.py:2034
msgid "Browsable url"
msgstr "URL navigable"
#: agenda_culturel/models.py:2037
#: agenda_culturel/models.py:2036
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:2046
#: agenda_culturel/models.py:2045
msgid "Status of each imported event (published or draft)"
msgstr "Status de chaque événement importé (publié ou brouillon)"
#: agenda_culturel/models.py:2051
#: agenda_culturel/models.py:2050
msgid "Address for each imported event"
msgstr "Adresse de chaque événement importé"
#: agenda_culturel/models.py:2058
#: agenda_culturel/models.py:2057
msgid "Force location"
msgstr "Focer la localisation"
#: agenda_culturel/models.py:2059
#: agenda_culturel/models.py:2058
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:2065
#: agenda_culturel/models.py:2064
msgid "Organiser"
msgstr "Organisateur"
#: agenda_culturel/models.py:2066
#: agenda_culturel/models.py:2065
msgid "Organiser of each imported event"
msgstr "Organisateur de chaque événement importé"
#: agenda_culturel/models.py:2076
#: agenda_culturel/models.py:2075
msgid "Category of each imported event"
msgstr "Catégorie de chaque événement importé"
#: agenda_culturel/models.py:2084
#: agenda_culturel/models.py:2083
msgid "Tags for each imported event"
msgstr "Étiquettes de chaque événement importé"
#: agenda_culturel/models.py:2085
#: agenda_culturel/models.py:2084
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:2114
#: agenda_culturel/models.py:2113
msgid "Running"
msgstr "En cours"
#: agenda_culturel/models.py:2115
#: agenda_culturel/models.py:2114
msgid "Canceled"
msgstr "Annulé"
#: agenda_culturel/models.py:2116
#: agenda_culturel/models.py:2115
msgid "Success"
msgstr "Succès"
#: agenda_culturel/models.py:2117
#: agenda_culturel/models.py:2116
msgid "Failed"
msgstr "Erreur"
#: agenda_culturel/models.py:2120
#: agenda_culturel/models.py:2119
msgid "Batch importation"
msgstr "Importation par lot"
#: agenda_culturel/models.py:2121
#: agenda_culturel/models.py:2120
msgid "Batch importations"
msgstr "Importations par lot"
#: agenda_culturel/models.py:2134
#: agenda_culturel/models.py:2133
msgid "Reference to the recurrent import processing"
msgstr "Référence du processus d'import récurrent"
#: agenda_culturel/models.py:2142
#: agenda_culturel/models.py:2141
msgid "URL (if not recurrent import)"
msgstr "URL (si pas d'import récurrent)"
#: agenda_culturel/models.py:2144
#: agenda_culturel/models.py:2143
msgid "Source URL if no RecurrentImport is associated."
msgstr "URL source si aucun import récurrent n'est associé"
#: agenda_culturel/models.py:2157
#: agenda_culturel/models.py:2156
msgid "Error message"
msgstr "Votre message"
#: agenda_culturel/models.py:2161
#: agenda_culturel/models.py:2160
msgid "Number of collected events"
msgstr "Nombre d'événements collectés"
#: agenda_culturel/models.py:2164
#: agenda_culturel/models.py:2163
msgid "Number of imported events"
msgstr "Nombre d'événements importés"
#: agenda_culturel/models.py:2167
#: agenda_culturel/models.py:2166
msgid "Number of updated events"
msgstr "Nombre d'événements mis à jour"
#: agenda_culturel/models.py:2170
#: agenda_culturel/models.py:2169
msgid "Number of removed events"
msgstr "Nombre d'événements supprimés"
#: agenda_culturel/models.py:2178
#: agenda_culturel/models.py:2177
msgid "Weight"
msgstr "Poids"
#: agenda_culturel/models.py:2179
#: agenda_culturel/models.py:2178
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:2186
#: agenda_culturel/models.py:2185
msgid "Category applied to the event"
msgstr "Catégorie appliquée à l'événement"
#: agenda_culturel/models.py:2191
#: agenda_culturel/models.py:2190
msgid "Contained in the title"
msgstr "Contenu dans le titre"
#: agenda_culturel/models.py:2192
#: agenda_culturel/models.py:2191
msgid "Text contained in the event title"
msgstr "Texte contenu dans le titre de l'événement"
#: agenda_culturel/models.py:2198
#: agenda_culturel/models.py:2197
msgid "Exact title extract"
msgstr "Extrait exact du titre"
#: agenda_culturel/models.py:2200
#: agenda_culturel/models.py:2199
msgid ""
"If checked, the extract will be searched for in the title using the exact "
"form (capitals, accents)."
@ -1044,19 +1048,19 @@ msgstr ""
"Si coché, l'extrait sera recherché dans le titre en utilisant la forme "
"exacte (majuscules, accents)"
#: agenda_culturel/models.py:2206
#: agenda_culturel/models.py:2205
msgid "Contained in the description"
msgstr "Contenu dans la description"
#: agenda_culturel/models.py:2207
#: agenda_culturel/models.py:2206
msgid "Text contained in the description"
msgstr "Texte contenu dans la description"
#: agenda_culturel/models.py:2213
#: agenda_culturel/models.py:2212
msgid "Exact description extract"
msgstr "Extrait exact de description"
#: agenda_culturel/models.py:2215
#: agenda_culturel/models.py:2214
msgid ""
"If checked, the extract will be searched for in the description using the "
"exact form (capitals, accents)."
@ -1064,19 +1068,19 @@ msgstr ""
"Si coché, l'extrait sera recherché dans la description en utilisant la forme "
"exacte (majuscules, accents)"
#: agenda_culturel/models.py:2221
#: agenda_culturel/models.py:2220
msgid "Contained in the location"
msgstr "Contenu dans la localisation"
#: agenda_culturel/models.py:2222
#: agenda_culturel/models.py:2221
msgid "Text contained in the event location"
msgstr "Texte contenu dans la localisation de l'événement"
#: agenda_culturel/models.py:2228
#: agenda_culturel/models.py:2227
msgid "Exact location extract"
msgstr "Extrait exact de localisation"
#: agenda_culturel/models.py:2230
#: agenda_culturel/models.py:2229
msgid ""
"If checked, the extract will be searched for in the location using the exact "
"form (capitals, accents)."
@ -1084,15 +1088,15 @@ msgstr ""
"Si coché, l'extrait sera recherché dans la localisation en utilisant la "
"forme exacte (majuscules, accents)"
#: agenda_culturel/models.py:2238
#: agenda_culturel/models.py:2237
msgid "Location from place"
msgstr "Localisation depuis le lieu"
#: agenda_culturel/models.py:2247
#: agenda_culturel/models.py:2246
msgid "Categorisation rule"
msgstr "Règle de catégorisation"
#: agenda_culturel/models.py:2248
#: agenda_culturel/models.py:2247
msgid "Categorisation rules"
msgstr "Règles de catégorisation"
@ -1178,91 +1182,91 @@ 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:602
#: agenda_culturel/views.py:603
msgid "during the creation process"
msgstr "pendant le processus d'import"
#: agenda_culturel/views.py:616
#: agenda_culturel/views.py:617
msgid "A message has been sent to the person who proposed the initial event."
msgstr ""
"Un message a été envoyé à la personne qui a proposé l'événement initial."
#: agenda_culturel/views.py:704 agenda_culturel/views.py:768
#: agenda_culturel/views.py:705 agenda_culturel/views.py:769
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:709 agenda_culturel/views.py:774
#: agenda_culturel/views.py:710 agenda_culturel/views.py:775
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:719
#: agenda_culturel/views.py:720
msgid "Integrating {} url(s) into our import process."
msgstr "Intégration de {} url(s) dans notre processus d'import."
#: agenda_culturel/views.py:781
#: agenda_culturel/views.py:782
msgid "Integrating {} into our import process."
msgstr "Intégration de {} dans notre processus d'import."
#: agenda_culturel/views.py:839
#: agenda_culturel/views.py:840
msgid "Your message has been sent successfully."
msgstr "Votre message a été envoyé avec succès."
#: agenda_culturel/views.py:869
#: agenda_culturel/views.py:870
msgid "Reporting the event {} on {}"
msgstr "Signaler l'événement {} du {}"
#: agenda_culturel/views.py:879
#: agenda_culturel/views.py:880
msgid "The contact message has been successfully deleted."
msgstr "Le message de contact a été supprimé avec succès."
#: agenda_culturel/views.py:893
#: agenda_culturel/views.py:894
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:1062
#: agenda_culturel/views.py:1063
msgid "Spam has been successfully deleted."
msgstr "Le spam a été supprimé avec succès"
#: agenda_culturel/views.py:1185
#: agenda_culturel/views.py:1186
msgid "The import has been run successfully."
msgstr "L'import a été lancé avec succès"
#: agenda_culturel/views.py:1204
#: agenda_culturel/views.py:1205
msgid "The import has been canceled."
msgstr "L'import a été annulé"
#: agenda_culturel/views.py:1282
#: agenda_culturel/views.py:1283
msgid "The recurrent import has been successfully modified."
msgstr "L'import récurrent a été modifié avec succès."
#: agenda_culturel/views.py:1291
#: agenda_culturel/views.py:1292
msgid "The recurrent import has been successfully deleted."
msgstr "L'import récurrent a été supprimé avec succès"
#: agenda_culturel/views.py:1331
#: agenda_culturel/views.py:1332
msgid "The import has been launched."
msgstr "L'import a été lancé"
#: agenda_culturel/views.py:1353
#: agenda_culturel/views.py:1354
msgid "Imports has been launched."
msgstr "Les imports ont été lancés"
#: agenda_culturel/views.py:1415
#: agenda_culturel/views.py:1416
msgid "Update successfully completed."
msgstr "Mise à jour réalisée avec succès."
#: agenda_culturel/views.py:1476
#: agenda_culturel/views.py:1477
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:1512
#: agenda_culturel/views.py:1513
msgid "Events have been marked as unduplicated."
msgstr "Les événements ont été marqués comme non dupliqués."
#: agenda_culturel/views.py:1526 agenda_culturel/views.py:1535
#: agenda_culturel/views.py:1553
#: agenda_culturel/views.py:1527 agenda_culturel/views.py:1536
#: agenda_culturel/views.py:1554
msgid ""
"The selected item is no longer included in the list of duplicates. Someone "
"else has probably modified the list in the meantime."
@ -1270,23 +1274,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:1529
#: agenda_culturel/views.py:1530
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:1544
#: agenda_culturel/views.py:1545
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:1588
#: agenda_culturel/views.py:1589
msgid "Cleaning up duplicates: {} item(s) fixed."
msgstr "Nettoyage des dupliqués: {} élément(s) corrigé(s)."
#: agenda_culturel/views.py:1638
#: agenda_culturel/views.py:1639
msgid "The event was successfully duplicated."
msgstr "L'événement a été marqué dupliqué avec succès."
#: agenda_culturel/views.py:1646
#: agenda_culturel/views.py:1647
msgid ""
"The event has been successfully flagged as a duplicate. The moderation team "
"will deal with your suggestion shortly."
@ -1294,32 +1298,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:1699
#: agenda_culturel/views.py:1700
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:1708
#: agenda_culturel/views.py:1709
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:1730
#: agenda_culturel/views.py:1731
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:1737
#: agenda_culturel/views.py:1738
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:1744 agenda_culturel/views.py:1797
#: agenda_culturel/views.py:1745 agenda_culturel/views.py:1798
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:1783
#: agenda_culturel/views.py:1784
msgid ""
"The rules were successfully applied and 1 event with default category was "
"categorised."
@ -1327,7 +1331,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:1790
#: agenda_culturel/views.py:1791
msgid ""
"The rules were successfully applied and {} events with default category were "
"categorised."
@ -1335,58 +1339,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:1882 agenda_culturel/views.py:1944
#: agenda_culturel/views.py:1982
#: agenda_culturel/views.py:1883 agenda_culturel/views.py:1945
#: agenda_culturel/views.py:1983
msgid "{} events have been updated."
msgstr "{} événements ont été mis à jour."
#: agenda_culturel/views.py:1885 agenda_culturel/views.py:1946
#: agenda_culturel/views.py:1985
#: agenda_culturel/views.py:1886 agenda_culturel/views.py:1947
#: agenda_culturel/views.py:1986
msgid "1 event has been updated."
msgstr "1 événement a été mis à jour"
#: agenda_culturel/views.py:1887 agenda_culturel/views.py:1948
#: agenda_culturel/views.py:1987
#: agenda_culturel/views.py:1888 agenda_culturel/views.py:1949
#: agenda_culturel/views.py:1988
msgid "No events have been modified."
msgstr "Aucun événement n'a été modifié."
#: agenda_culturel/views.py:1896
#: agenda_culturel/views.py:1897
msgid "The place has been successfully updated."
msgstr "Le lieu a été modifié avec succès."
#: agenda_culturel/views.py:1905
#: agenda_culturel/views.py:1906
msgid "The place has been successfully created."
msgstr "Le lieu a été créé avec succès."
#: agenda_culturel/views.py:1970
#: agenda_culturel/views.py:1971
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:1974
#: agenda_culturel/views.py:1975
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:2076
#: agenda_culturel/views.py:2077
msgid "The organisation has been successfully updated."
msgstr "L'organisme a été modifié avec succès."
#: agenda_culturel/views.py:2085
#: agenda_culturel/views.py:2086
msgid "The organisation has been successfully created."
msgstr "L'organisme a été créé avec succès."
#: agenda_culturel/views.py:2102
#: agenda_culturel/views.py:2103
msgid "The tag has been successfully updated."
msgstr "L'étiquette a été modifiée avec succès."
#: agenda_culturel/views.py:2109
#: agenda_culturel/views.py:2110
msgid "The tag has been successfully created."
msgstr "L'étiquette a été créée avec succès."
#: agenda_culturel/views.py:2173
#: agenda_culturel/views.py:2180
msgid "You have not modified the tag name."
msgstr "Vous n'avez pas modifié le nom de l'étiquette."
#: agenda_culturel/views.py:2183
#: agenda_culturel/views.py:2190
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 "
@ -1399,7 +1403,7 @@ msgstr ""
"sera supprimée, et tous les événements associés à l'étiquette {} seront "
"associés à l'étiquette {}."
#: agenda_culturel/views.py:2190
#: agenda_culturel/views.py:2197
msgid ""
"This tag {} is already in use. You can force renaming by checking the "
"corresponding option."
@ -1407,14 +1411,14 @@ msgstr ""
"Cette étiquette {} est déjà utilisée. Vous pouvez forcer le renommage en "
"cochant l'option correspondante."
#: agenda_culturel/views.py:2224
#: agenda_culturel/views.py:2231
msgid "The tag {} has been successfully renamed to {}."
msgstr "L'étiquette {} a été renommée avec succès en {}."
#: agenda_culturel/views.py:2262
#: agenda_culturel/views.py:2269
msgid "The tag {} has been successfully deleted."
msgstr "L'événement {} a été supprimé avec succès."
#: agenda_culturel/views.py:2283
#: agenda_culturel/views.py:2290
msgid "Cache successfully cleared."
msgstr "Le cache a été vidé avec succès."

View File

@ -620,6 +620,18 @@ header .remarque {
}
}
#search {
form {
display: grid;
grid-template-columns: repeat(2, 1fr);
column-gap: .5em;
:first-child,
button {
grid-column: 1/3;
}
}
}
/* Basic picocss alerts */

View File

@ -16,13 +16,13 @@
{% block content %}
<article class="search">
<article class="search" id="search">
<header>
<h1>Rechercher un événement</h1>
</header>
<form method="get" class="form django-form">
{{ filter.form }}
{{ filter.form.as_div }}
<button type="submit">Rechercher</button>
{% if full %}
@ -36,7 +36,7 @@
{% if has_results or categories %}
<div id="results">
{% if categories %}
<div class="message info">
<div class="message success">
{% if categories.count > 1 %}
Retrouvez les événements correspondant aux catégories
{% else %}
@ -49,7 +49,7 @@
{% endif %}
{% if tags %}
<div class="message info">
<div class="message success">
{% if tags.count > 1 %}
Retrouvez les événements correspondant aux étiquettes
{% else %}
@ -62,7 +62,7 @@
{% endif %}
{% if places %}
<div class="message info">
<div class="message success">
{% if places.count > 1 %}
Retrouvez les événements se déroulant dans les lieux
{% else %}
@ -75,7 +75,7 @@
{% endif %}
{% if organisations %}
<div class="message info">
<div class="message success">
{% if organisations.count > 1 %}
Retrouvez les événements correspondant aux organisateurs
{% else %}
@ -88,7 +88,7 @@
{% endif %}
{% if rimports and user.is_authenticated %}
<div class="message info">
<div class="message success">
{% if rimports.count > 1 %}
Import récurrent correspondant à la recherche&nbsp;:
{% else %}