diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a8c3275..79c5ddb 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -20,3 +20,8 @@ repos: - id: ruff types_or: [ python, pyi ] args: [ --fix ] + - repo: https://github.com/Riverside-Healthcare/djLint + rev: v1.32.0 + hooks: + - id: djlint-reformat-django + - id: djlint-django diff --git a/pyproject.toml b/pyproject.toml index e2c760b..1962dee 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -95,3 +95,10 @@ max-complexity = 10 [tool.ruff.lint.isort] force-to-top = ["src"] known-first-party = ["src"] + +[tool.djlint] +profile = "django" +ignore = "H031,T003,H006" +extension = "html" +files = ["src/agenda_culturel/templates/agenda_culturel/*.html"] +indent = 2 diff --git a/src/agenda_culturel/forms.py b/src/agenda_culturel/forms.py index bc8eecb..9a739a6 100644 --- a/src/agenda_culturel/forms.py +++ b/src/agenda_culturel/forms.py @@ -891,7 +891,7 @@ class PlaceForm(GroupFormMixin, ModelForm): '
Cliquez pour ajuster la position GPS
Les règles de catégorisation proposent de modifier comme suit les événements suivants. Sélectionnez les modifications qui vous conviennent.
- -+ Les règles de catégorisation proposent de modifier comme suit les événements suivants. Sélectionnez les modifications qui vous conviennent. +
+- {% picto_from_name "map-pin" %} - {{ event.location }} -
-- {% picto_from_name "calendar" %} - {% if event.end_day and event.end_day != event.start_day %}du{% else %}le{% endif %} - {{ event.start_day|date|frdate }} - {% if event.start_time %} {% if not event.end_day or event.end_day == event.start_day %}{% if event.end_time %}de{% else %}à{% endif %}{% endif %} - {{ event.start_time }} - {% endif %} - {% if event.end_day and event.end_day != event.start_day %} - au {% if event.end_day and event.end_day != event.start_day %}{{ event.end_day|date|frdate }}{% endif %} - {% endif %} - {% if event.end_time %} {% if not event.end_day|date|frdate or event.end_day == event.start_day %}jusqu'à{% endif %} {{ event.end_time }}{% endif %}
-- {% for tag in event.sorted_tags %} - {{ tag | tag_button }} - {% endfor %} -
- - {% endwith %} + {% with altcat=categories|get_item:eid %} ++ {% picto_from_name "map-pin" %} + {{ event.location }} +
++ {% picto_from_name "calendar" %} + {% if event.end_day and event.end_day != event.start_day %} + du + {% else %} + le + {% endif %} + {{ event.start_day|date|frdate }} + {% if event.start_time %} + {% if not event.end_day or event.end_day == event.start_day %} + {% if event.end_time %} + de + {% else %} + à + {% endif %} + {% endif %} + {{ event.start_time }} + {% endif %} + {% if event.end_day and event.end_day != event.start_day %} + au + {% if event.end_day and event.end_day != event.start_day %}{{ event.end_day|date|frdate }}{% endif %} + {% endif %} + {% if event.end_time %} + {% if not event.end_day|date|frdate or event.end_day == event.start_day %}jusqu'à{% endif %} + {{ event.end_time }} + {% endif %} +
++ {% for tag in event.sorted_tags %}{{ tag | tag_button }}{% endfor %} +
+ {% endwith %} {% endwith %} - {% endwith %} - -Ê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 }} - - ++ Ê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 }} +Êtes-vous sûr·e de vouloir supprimer - {% if nb_spams > 1 %} - les {{ nb_spams }} messages - {% else %} - le message - {% endif %} de contact annoté{{ nb_spams|pluralize }} comme spam ? - Cette suppression sera définitive. -
- {{ form }} - - ++ Êtes-vous sûr·e de vouloir supprimer + {% if nb_spams > 1 %} + les {{ nb_spams }} messages + {% else %} + le message + {% endif %} + de contact annoté{{ nb_spams|pluralize }} comme spam ? + Cette suppression sera définitive. +
+ {{ form }} +Identique : {% field_to_html e.values e.key %}
-Identique : {% field_to_html e.values e.key %}
+Les événements ci-dessous sont des duplicats du même événement, probablement issus de différentes - sources. La version qui sera affichée aux internautes en priorité est la version - {% for e in object.get_duplicated %}{% if not e.masked %}{{ forloop.counter0|int_to_abc }}{% endif %}{% endfor %}. -
- {% else %} -Les événements ci-dessous ont été détectés ou signalés comme possiblement dupliqué. - Les éléments qui diffèrent ont été dupliqués et mis en évidence.
- {% endif %} - -+ Les événements ci-dessous sont des duplicats du même événement, probablement issus de différentes + sources. La version qui sera affichée aux internautes en priorité est la version + {% for e in object.get_duplicated %} + {% if not e.masked %}{{ forloop.counter0|int_to_abc }}{% endif %} + {% endfor %} + . +
+ {% else %} ++ Les événements ci-dessous ont été détectés ou signalés comme possiblement dupliqué. + Les éléments qui diffèrent ont été dupliqués et mis en évidence. +
+ {% endif %} + {% include "agenda_culturel/duplicate-diff-inc.html" with object=object %} - - -{% include "agenda_culturel/duplicate-info-inc.html" with object=object %} - + + {% include "agenda_culturel/duplicate-info-inc.html" with object=object %} {% endblock %} diff --git a/src/agenda_culturel/templates/agenda_culturel/duplicates.html b/src/agenda_culturel/templates/agenda_culturel/duplicates.html index e75e5a8..10de88b 100644 --- a/src/agenda_culturel/templates/agenda_culturel/duplicates.html +++ b/src/agenda_culturel/templates/agenda_culturel/duplicates.html @@ -1,64 +1,69 @@ {% extends "agenda_culturel/page-admin.html" %} - {% load utils_extra %} {% load event_extra %} - -{% block title %}{% block og_title %}Événements dupliqués{% endblock %}{% endblock %} - +{% block title %} + {% block og_title %}Événements dupliqués{% endblock %} +{% endblock %} {% load cat_extra %} {% block entete_header %} - {% css_categories %} + {% css_categories %} {% endblock %} - {% block sidemenu-bouton %} -{{ paginator.count }} événement{{ paginator.count|pluralize }} dupliqués{% if filter.form.fixed.value == None %}.{% else %} - {% if filter.form.fixed.value %}sont résolus. - {% else %}doivent être résolus.{% endif %} - {% endif %}
-+ {{ paginator.count }} événement{{ paginator.count|pluralize }} dupliqués + {% if filter.form.fixed.value == None %} + . + {% else %} + {% if filter.form.fixed.value %} + sont résolus. + {% else %} + doivent être résolus. + {% endif %} + {% endif %} +
+ +Création : {{ event.created_date }}{% if event.created_by_user %} par {{ event.created_by_user.username }}{% endif %} +
+ Création : {{ event.created_date }} + {% if event.created_by_user %}par {{ event.created_by_user.username }}{% endif %} {% if event.modified %} - — dernière modification : {{ event.modified_date }}{% if event.modified_by_user %} par {{ event.modified_by_user.username }}{% endif %} + — dernière modification : {{ event.modified_date }} + {% if event.modified_by_user %}par {{ event.modified_by_user.username }}{% endif %} {% endif %} {% if event.imported_date %} - — dernière importation : {{ event.imported_date }}{% if event.imported_by_user %} par {{ event.imported_by_user.username }}{% endif %} + — dernière importation : {{ event.imported_date }} + {% if event.imported_by_user %}par {{ event.imported_by_user.username }}{% endif %} {% endif %} {% if event.moderated_date %} - — dernière modération : {{ event.moderated_date }}{% if event.moderated_by_user %} par {{ event.moderated_by_user.username }}{% endif %} + — dernière modération : {{ event.moderated_date }} + {% if event.moderated_by_user %}par {{ event.moderated_by_user.username }}{% endif %} {% endif %} - {% if event.pure_import %} - — version importée - {% endif %} -
+ {% if event.pure_import %}— version importée{% endif %} + {% endif %} diff --git a/src/agenda_culturel/templates/agenda_culturel/event-info-inc.html b/src/agenda_culturel/templates/agenda_culturel/event-info-inc.html index eefdd9f..afde3e6 100644 --- a/src/agenda_culturel/templates/agenda_culturel/event-info-inc.html +++ b/src/agenda_culturel/templates/agenda_culturel/event-info-inc.html @@ -1,32 +1,55 @@Voir l'événement facebook 
Voir l'événement sur le site source {{ refs.0|hostname }}
- {% endif %} +
+ Voir l'événement facebook
+
+
+
+ Voir l'événement sur le site source {{ refs.0|hostname }} +
+ {% endif %} {% else %} -Voir l'événement sur les site sources +
+ Voir l'événement sur les site sources
{% for eurl in refs %}
-
- {{ eurl|hostname }}{% if eurl|is_facebook_url %}
{% endif %}{% if not forloop.last %}, {% endif %}
- {% endfor %}
+ {% endif %}
+
+ {% if not forloop.last %},{% endif %}
+ {% endfor %}
+
{% endif %}
-{% else %}
-À notre connaissance, cet événement n'est pas référencé autre part sur internet.
-{% endif %} + {% else %} ++ À notre connaissance, cet événement n'est pas référencé autre part sur internet. +
+ {% endif %} {% endwith %} {% endwith %} diff --git a/src/agenda_culturel/templates/agenda_culturel/event_confirm_change_status.html b/src/agenda_culturel/templates/agenda_culturel/event_confirm_change_status.html index 405f576..105dc70 100644 --- a/src/agenda_culturel/templates/agenda_culturel/event_confirm_change_status.html +++ b/src/agenda_culturel/templates/agenda_culturel/event_confirm_change_status.html @@ -1,46 +1,46 @@ {% extends "agenda_culturel/page.html" %} - -{% block title %}{% block og_title %} -{% if status == "published" %} -Publier l'événement {{ event.title }} -{% elif status == "draft" %} -Déplacer l'événement {{ event.title }} dans les brouillons -{% elif status == "trash" %} -Mettre l'événement {{ event.title }} à la corbeille -{% endif %} -{% endblock %}{% endblock %} - +{% block title %} + {% block og_title %} + {% if status == "published" %} + Publier l'événement {{ event.title }} + {% elif status == "draft" %} + Déplacer l'événement {{ event.title }} dans les brouillons + {% elif status == "trash" %} + Mettre l'événement {{ event.title }} à la corbeille + {% endif %} + {% endblock %} +{% endblock %} {% block fluid %}{% endblock %} - {% block content %} - -Êtes-vous sûr·e de vouloir +
+ Êtes-vous sûr·e de vouloir + {% if status == "published" %} + publier l'événement « {{ event }} » du {{ event.start_day }} ? + {% elif status == "draft" %} + déplacer en brouillon l'événement « {{ event }} » du {{ event.start_day }} ? + {% elif status == "trash" %} + mettre à la corbeille l'événement « {{ event }} » du {{ event.start_day }} ? + {% endif %} +
+ {{ form }} +Êtes-vous sûr·e de vouloir supprimer l'événement « {{ object }} » ?
{{ form }} -Vous allez créer une copie de l'événement original qui n'aura plus aucun lien avec ce dernier. Cette possibilité - est généralement utilisée pour créer un événement semblable à une date différente, par exemple. -
- {% endif %} -{% if concurrent_events|length > 1 %}Plusieurs événements se déroulent en même temps.{% else %}Un autre événement se déroule en même temps.{% endif %}
-Si l'événement est déjà décrit en ligne (par exemple sur Facebook), vous pouvez tenter un import automatique.
+ Édition de l'événement {% endif %} - {% endif %} -+ Vous allez créer une copie de l'événement original qui n'aura plus aucun lien avec ce dernier. Cette possibilité + est généralement utilisée pour créer un événement semblable à une date différente, par exemple. +
{% endif %} + ++ {% if concurrent_events|length > 1 %} + Plusieurs événements se déroulent en même temps. + {% else %} + Un autre événement se déroule en même temps. + {% endif %} +
++ Si l'événement est déjà décrit en ligne (par exemple sur Facebook), vous pouvez tenter un import automatique. +
+ {% endif %} + {% endif %} +En utilisant cet outil de modération, l'événement ne sera pas modifié{% if event.pure_import %} - et restera considéré comme une version importée, peut importe les modifications d'étiquette, - de catégorie ou de lieu que vous lui appliquerez{% endif %}. -
++ En utilisant cet outil de modération, l'événement ne sera pas modifié + {% if event.pure_import %} + et restera considéré comme une version importée, peut importe les modifications d'étiquette, + de catégorie ou de lieu que vous lui appliquerez + {% endif %} + . +
{% if concurrent_events|length > 1 %}Plusieurs événements se déroulent en même temps.{% else %}Un autre événement se déroule en même temps.{% endif %}
-+ {% if concurrent_events|length > 1 %} + Plusieurs événements se déroulent en même temps. + {% else %} + Un autre événement se déroule en même temps. + {% endif %} +
+Cet événement a déjà été modéré {% if event.moderation_by_user %}par {{ event.moderation_by_user.username }} {% endif %}le {{ event.moderated_date }}. - Vous pouvez bien sûr modifier de nouveau ces méta-informations en utilisant - le formulaire ci-après. -
- {% endif %} -+ Cet événement a déjà été modéré + {% if event.moderation_by_user %}par {{ event.moderation_by_user.username }}{% endif %} + le {{ event.moderated_date }}. + Vous pouvez bien sûr modifier de nouveau ces méta-informations en utilisant + le formulaire ci-après. +
+ {% endif %} +On peut importer automatiquement un événement depuis d'autres sites internet (principalement depuis Facebook pour - l'instant), à partir de l'adresse (url) de la page de l'événement. +
+ On peut importer automatiquement un événement depuis d'autres sites internet (principalement depuis Facebook pour + l'instant), à partir de l'adresse (url) de la page de l'événement.
Importer un événement depuis son url Importer des événements depuis leurs urls - -Si l'événement n'est pas disponible en ligne, ou si l'import ne fonctionne pas, on peut - ajouter un événement en utilisant un formulaire complet. +
+ Si l'événement n'est pas disponible en ligne, ou si l'import ne fonctionne pas, on peut + ajouter un événement en utilisant un formulaire complet.
Remplir le formulaire d'événement - -Nous n'avons pas été capable de trouver un événement à modérer après +
+ Nous n'avons pas été capable de trouver un événement à modérer après l'événement {{ object.title }}. Peut-être est-ce le dernier événement avant la fin du monde ? -
+ {% else %} -Nous n'avons pas été capable de trouver l'événement #{{ pk }} sur l'agenda. +
+ Nous n'avons pas été capable de trouver l'événement #{{ pk }} sur l'agenda. Il a certainement été supprimé depuis que vous l'avez consulté. -
+ {% endif %} -+
{{ f.errors }} {{ f.label_tag }} {{ f }} {{ f.help_text }} -
- {% endif %} - {% endfor %} -Les événements ci-dessous sont des duplicats du même événement, probablement issus de différentes - sources. La version qui sera affichée aux internautes en priorité est la version - {% for e in object.get_duplicated %}{% if not e.masked %}{{ forloop.counter0|int_to_abc }}{% endif %}{% endfor %}. -
- {% else %} -Les événements ci-dessous ont été détectés ou signalés comme possiblement dupliqué. - Les éléments qui diffèrent ont été dupliqués et mis en évidence.
- {% endif %} - -Choisissez dans la liste ci-dessous l'action que vous voulez réaliser. À noter que - s'il y a plus de deux événements, toutes les possibilités ne sont pas disponibles, et - il vous faudra peut-être réaliser certaines opérations à la main.
- -Remarque : les éléments masqués qui ont la même source que l'élément à l'élément conservé seront également marqués supprimés.
-+ Les événements ci-dessous sont des duplicats du même événement, probablement issus de différentes + sources. La version qui sera affichée aux internautes en priorité est la version + {% for e in object.get_duplicated %} + {% if not e.masked %}{{ forloop.counter0|int_to_abc }}{% endif %} + {% endfor %} + . +
+ {% else %} ++ Les événements ci-dessous ont été détectés ou signalés comme possiblement dupliqué. + Les éléments qui diffèrent ont été dupliqués et mis en évidence. +
+ {% endif %} ++ Choisissez dans la liste ci-dessous l'action que vous voulez réaliser. À noter que + s'il y a plus de deux événements, toutes les possibilités ne sont pas disponibles, et + il vous faudra peut-être réaliser certaines opérations à la main. +
++ Remarque : les éléments masqués qui ont la même source que l'élément à l'élément conservé seront également marqués supprimés. +
+{% for field in hidden_fields %}{{ field }}{% endfor %}
++ {% for field in hidden_fields %}{{ field }}{% endfor %} +
{% endif %} {% for group, fields in form.fields_by_group %} -Si tu as plein d'événements à ajouter, tu peux les ajouter par lots.
- - -Si l'import automatique ne marche pas, ou si l'événement n'est pas en ligne, tu peux - tout de même ajouter l'événement en le décrivant sur la page d'ajout d'événement.
-Si l'import automatique ne marche pas, ou si l'événement n'est pas en ligne, vous pouvez - tout de même ajouter l'événement en le décrivant sur la page d'ajout d'événement.
-+ Si l'import automatique ne marche pas, ou si l'événement n'est pas en ligne, vous pouvez + tout de même ajouter l'événement en le décrivant sur la page d'ajout d'événement. +
+Il y a actuellement {{ nb_in_orphan_import }} événements singletons, c'est-à-dire importés depuis une source mais non inclus dans un import récurrent.
- {% include "agenda_culturel/batch-imports-inc.html" with objects=paginator_filter %} - -+ Il y a actuellement {{ nb_in_orphan_import }} événements singletons, c'est-à-dire importés depuis une source mais non inclus dans un import récurrent. +
+ {% include "agenda_culturel/batch-imports-inc.html" with objects=paginator_filter %} +Pour chacun des champs non identiques, choisissez la version qui vous convient pour créer un événement - résultat de la fusion. La version ainsi créée deviendra la version représentative.
- ++ Pour chacun des champs non identiques, choisissez la version qui vous convient pour créer un événement + résultat de la fusion. La version ainsi créée deviendra la version représentative. +
Êtes-vous sûr·e de vouloir supprimer le message « {{ object.subject }} » de {{ object.name }} ({{ object.id }}) ?
- {{ form }} - -+ Êtes-vous sûr·e de vouloir supprimer le message « {{ object.subject }} » de {{ object.name }} ({{ object.id }}) ? +
+ {{ form }} +Attention : n'utilisez pas le formulaire ci-dessous pour proposer un événement, il sera ignoré. Utilisez plutôt la page ajouter un événement.
+Tu nous contactes au sujet de l'événement « {{ form.event.title }} » du {{ form.event.start_day }}. - N'hésites pas à nous indiquer le maximum de contexte et à nous laisser ton adresse - afin que l'on puisse répondre à tes demandes ou remarques. -
+ Contact au sujet de l'événement « {{ form.event.title }} » + {% else %} + Contact {% endif %} + + {% if not form.event %} ++ Attention : n'utilisez pas le formulaire ci-dessous pour proposer un événement, il sera ignoré. Utilisez plutôt la page ajouter un événement. +
+ {% if form.event %} ++ Tu nous contactes au sujet de l'événement « {{ form.event.title }} » du {{ form.event.start_day }}. + N'hésites pas à nous indiquer le maximum de contexte et à nous laisser ton adresse + afin que l'on puisse répondre à tes demandes ou remarques. +
+ {% endif %}Ce message a été envoyé par une personne lors +
+ Ce message a été envoyé par une personne lors de l'ajout d'un événement. {% if object.closed %} - En décochant fermé, vous modifiez manuellement son statut, et cela pourra entraîner l'envoi d'un message de notification - lors de la modification future de l'événement associé.{% else %} - En cochant fermé, vous modifiez manuellement son statut, et cela empêchera l'envoi d'un message de notification - lors de la modification future de l'événement associé. + En décochant fermé, vous modifiez manuellement son statut, et cela pourra entraîner l'envoi d'un message de notification + lors de la modification future de l'événement associé. + {% else %} + En cochant fermé, vous modifiez manuellement son statut, et cela empêchera l'envoi d'un message de notification + lors de la modification future de l'événement associé. {% endif %} -
{% endif %} -| Date | -Type | -Sujet | -Auteur | -Événement | -Fermé | -Spam | -
|---|---|---|---|---|---|---|
| Date | +Type | +Sujet | +Auteur | +Événement | +Fermé | +Spam | +
| {{ obj.date }} | -{% if obj.message_type %}{{ obj.get_message_type_display }}{% else %}-{% endif %} | -{{ obj.subject }} | -{% if obj.user %}{{ obj.user }}{% else %}{% if obj.name %}{{ obj.name }}{% else %}-{% endif %}{% endif %} | -{% if obj.related_event %}{{ obj.related_event.pk }}{% else %}-{% endif %} | -{% if obj.closed %}{% picto_from_name "check-square" "fermé" %}{% else %}{% picto_from_name "square" "ouvert" %}{% endif %} | -{% if obj.spam %}{% picto_from_name "check-square" "spam" %}{% else %}{% picto_from_name "square" "non spam" %}{% endif %} | -
| {{ obj.date }} | ++ {% if obj.message_type %} + {{ obj.get_message_type_display }} + {% else %} + - + {% endif %} + | ++ {{ obj.subject }} + | ++ {% if obj.user %} + {{ obj.user }} + {% else %} + {% if obj.name %} + {{ obj.name }} + {% else %} + - + {% endif %} + {% endif %} + | ++ {% if obj.related_event %} + {{ obj.related_event.pk }} + {% else %} + - + {% endif %} + | ++ {% if obj.closed %} + {% picto_from_name "check-square" "fermé" %} + {% else %} + {% picto_from_name "square" "ouvert" %} + {% endif %} + | ++ {% if obj.spam %} + {% picto_from_name "check-square" "spam" %} + {% else %} + {% picto_from_name "square" "non spam" %} + {% endif %} + | +
Êtes-vous sûr·e de vouloir supprimer l'organisateur « {{ object.name }} ({{ object.pk }}) » ?
- {{ form }} -Êtes-vous sûr·e de vouloir supprimer l'organisateur « {{ object.name }} ({{ object.pk }}) » ?
+ {{ form }} ++ Cet organisateur est associé à l'import récurrent {{ object.recurrentimport_set.all.0 }}. +
{% endif %} - {% if user.is_authenticated %} - {% if object.recurrentimport_set.all|length == 1 %} -Cet organisateur est associé à l'import récurrent {{ object.recurrentimport_set.all.0 }}.
- {% endif %} - {% if object.recurrentimport_set.count > 1 %} -Cet organisateur est associé aux imports récurrents :
-Cet organisateur est associé aux imports récurrents :
+Aucun événement
- {% endif %} + {% else %} ++ Aucun événement +
+ {% endif %} {% endcache %} - {% endwith %} -Il n'y a aucun organisme défini.
- {% endif %} - -Il n'y a aucun organisme défini.
+ {% endif %} +{{ message }}
+{{ message }}
{% endfor %} {% endif %} - - {% block content %}{% endblock %} + {% block content %}{% endblock %}Vous êtes connecté(e) en tant que {{ user }}
- {% else %} - {% picto_from_name "log-in" %} administrer - {% endif %} -Vous êtes connecté(e) en tant que {{ user }}
+ {% else %} + {% picto_from_name "log-in" %} administrer + {% endif %}Accès rapides :
-Accès rapides :
+