Geotrek-admin
Geotrek-admin copied to clipboard
Evolution du module ÉVÉNEMENTS - Compléments et évaluation
Le module ÉVÉNEMENTS de Geotrek permet déjà de saisir, gérer et diffuser des événements touristiques (sortie, conférence, atelier, expositions, visites...) sur Geotrek-rando ou autre.
Il est actuellement composé de ces champs :
- id (integer)
- accessibility (string)
- approved (boolean)
- attachments
- begin_date (string($date))
- end_date (string($date))
- booking (string)
- cities (string)
- contact (string)
- create_datetime (string($date-time))
- update_datetime (string($date-time))
- description (string)
- description_teaser (string)
- duration (string)
- email (string($email))
- external_id (string)
- geometry (string)
- meeting_point (string)
- meeting_time (string)
- name (string)
- organizer (string)
- participant_number (string)
- pdf - auto-generated (string)
- portals
- practical_info (string)
- published (boolean)
- sources
- speaker (string)
- target_audience (string)
- themes
- url (string($uri))
- uuid (string($uuid))
- website (string($uri))
L'objectif de ces évolutions est :
- de mieux structurer certains de ces champs
- d'ajouter quelques champs pour mieux décrire les événements
- d'ajouter quelques champs nécessaires au suivi et à l'évaluation des événements touristiques
- de permettre de gérer les réservations des événements touristiques
ÉVOLUTIONS PRÉVUES :
- Organisateur >> Basculer de texte à Liste (n-n), attention aux migrations de données
- Contact >> Basculer de texte à Liste avec nom, adresse, téléphone, email, URL, Actif (booléen), attention aux migration données
- Intervenant : En faire une liste ou on garde un champs libre ?
- Ajouter un champs "Contact de l'intervenant" non diffusé (au niveau des événements ou des intervenants, selon le point précédent)
- Ajouter une "Catégorie" en plus du type ? Plus large que le type (Animation pédagogique, animation pédagogique, formation). Lier les types aux catégories >> Réserves sur le sujet, car complexifierai la compréhension et la saisie. Les types suffisent.
- Remplir date fin automatiquement avec date début (javascript)
- Liste de lieux avec XY prédéfinis permettant de localiser correctement des événements sans les pointer sur la carte ?
- Ajouter "Heure fin" - Supprimer champs durée ?
- Formater les champs horaires
- Réorganiser formulaire (type en haut par exemple)
- "Nombre de places" à basculer en INTEGER
- Réservation : Ajouter BOOL + Texte
- Annulation : Ajouter BOOL + Liste de causes + Texte
- Public visé : en faire une liste / Quel lien avec champs "Accessibilité" ?
- Évaluation : Ajouter les champs "Temps préparation", "Temps d'intervention", "Nombre participants" (par classe d'age avec liste adaptable) / "Provenance du public" ?
- Pouvoir créer des groupes d’événements (= temps fort + projets pédagogiques ou autre)
- Réservations : Tables dédiées avec les inscrits
- Limiter le nombre de caractères du champs "Chapeau" (description_teaser), différemment des autres champs ?
- Finaliser la duplication d'objets depuis l'interface
Ces évolutions devront être réalisées au niveau de la BDD, des formulaires, des fiches détails, des filtres, des exports, de l'API V2, de la synchronisation, et éventuellement reportés sur Geotrek-rando-v3 pour certains champs.
Théo https://github.com/GeotrekCE/Geotrek-admin/pull/3247 :heavy_check_mark:
- [x] Réservable : bool (pour aller avec le champ texte existant)
- [x] Si il est activé : afficher les widgets (réservation)
champ texte réservation -> passer en intéger
Célia 1 https://github.com/GeotrekCE/Geotrek-admin/pull/3270 :heavy_check_mark:
- [x] Faire une correction pour toujours afficher le nombre de place
Célia 2 https://github.com/GeotrekCE/Geotrek-admin/pull/3273 :heavy_check_mark:
- [x] Si bookable est activé : afficher les widgets de réservation (texte)
Théo 2 https://github.com/GeotrekCE/Geotrek-admin/pull/3264 :heavy_check_mark:
- [x] Créer des lieux dans l'Admin
- [x] avoir un lien avec FK + copier la geom dans le formulaire (un peu comme Lieux de renseignement) (mettre tous les Points de Lieux en avance dans la page et afficher le point à la sélection du Lieu en question)
- [x] Exports
- [x] Pouvoir filtrer les events par place dans APIv2
- [x] API /v2/places
- [x] API dans le détail d'event
Amandine https://github.com/GeotrekCE/Geotrek-admin/pull/3248 :heavy_check_mark:
- [x] Rendre obligatoire les dates de début -> si pas de date dans les données existantes : set 1970
- [x] Si la date de fin n'est pas présente alors on renvoie la date de début dans l'APIv2
End date rempli automatiquement
Amandine 2 https://github.com/GeotrekCE/Geotrek-admin/pull/3253 :heavy_check_mark:
- [x] Renommer meeting_time en start_time -> attention apiv2
- [x] Rajouter end_time
- [ ] TimePicker dans le formulaire pour heure de rdv et heure de fin
Amandine 3 https://github.com/GeotrekCE/Geotrek-admin/pull/3252 :heavy_check_mark:
- [x] Contraindre les dates fin doit après début sur les formulaires
Célia https://github.com/GeotrekCE/Geotrek-admin/pull/3249 :heavy_check_mark:
- [x] Annulation :
- [x] bool
- [x] liste de causes
- [x] API add to detail cancellation_reason
- [ ] description
Amandine https://github.com/GeotrekCE/Geotrek-admin/pull/3275 :heavy_check_mark:
- [x] Réorganiser formulaire
Elie https://github.com/GeotrekCE/Geotrek-admin/pull/3257
- [x] Refacto crispy formset
- [ ] Attention layout des treks cassés
- [ ] Blade et Line ?
Elie https://github.com/makinacorpus/django-mapentity/pull/254 https://github.com/GeotrekCE/Geotrek-admin/pull/3254
- [ ] MapEntity forms / Common Forms
Elie https://github.com/GeotrekCE/Geotrek-admin/pull/3250 :heavy_check_mark:
- [x] Rajout d'un onglet "Bilan"
- [x] Nombre de participants effectifs par classe d'âge (avec liste adaptable dans l'admin) (dans un autre onglet ?) Ca va marcher comme les mandays
- [x] attention aux exports
- [ ] Fusionner les count facilement ?
Camille
- [x] Changelog
- [x] Relecture et vocabulaire
Amandine https://github.com/GeotrekCE/Geotrek-admin/pull/3261 :heavy_check_mark:
- [x] Nombre de participants : devient "description du nombre de places" ?? ( :warning: place != participant :warning: ) et un nouveau "nombre de places" en integer (BREAKING CHANGE renommage) Essayer de parser un entier, si impossible alors l'ajouter à "Informations pratique" avec "Organisateur : valeur"
Amandine https://github.com/GeotrekCE/Geotrek-admin/pull/3268 :heavy_check_mark:
- [x] En dernier, mettre à jour les vues SQL
Célia https://github.com/GeotrekCE/Geotrek-admin/pull/3272 :heavy_check_mark:
- [x] Faire un alias pour que le champ
meeting_time
soit fourni en plus destart_time
dans l'API - [x] Faire un alias pour que le champ
participant_number
soit fourni en plus decapacity
dans l'API
A revoir
- [ ] Pour faire des groupes d'évènements : labels ? (Projet pédagogique : un garde fait plusieurs évènements avec une classe sur l'année)
- [ ] Basculer les Types en Catégories
- [ ] Créer une liste 1-N de Types (décorelés de Catégorie) + breaking change
- [ ] Tout est renommé
- [ ] Attention aux parsers
- [ ] Public visé : convertir les valeurs actuelles en liste (fonctionnalité de fusion ?)
- [ ] Organisateur >> Basculer de texte à Liste (n-n), attention aux migrations de données, attention aux parsers breaking change
- [ ] Un champ information privé (texte) /contact de l'intervenant ?
Autres
-
Les catégories d'Events remontent dans APIv2 dès que des Event sont publiés pour cette catégorie, mais il faudrait que ce soit le cas uniquement pour des Event dont les dates ne sont pas passées (ou bien faire un mécanisme de dépublication des Event passés ?
-
Le chapeau doit avoir une limite de charactère plus courte que celle en oeuvre sur tout le reste et dépendante du module (comment faire la configuration ?)
(pour les listes penser à faire des fixtures / attention à pas de supression en cascade pour les nouvelles listes)
Rétrocompatibilité
Pour les 2 champs renommés, on a choisi de continuer à les renvoyer dans l'API V2 avec leur nouveau nom, mais aussi leur ancien nom (https://github.com/GeotrekCE/Geotrek-admin/pull/3256/commits/01ebb8f5cfb0f236a777e969dcbe6d88c358c9c3), en indiquant bien dans l'API de ne plus utiliser les anciens noms, qui seront prochainement supprimés (https://github.com/GeotrekCE/Geotrek-admin/pull/3256/files#diff-a085f726206a57dfbedd6482cdb5bf24e03e86dd6b56fd01964dd673ed9b120dR455)
Migration des champs dont le type a changé
Pour la renommage du champs "participant_number" (text) en "capacity" (integer), lors de la migration, si le champs contient qu'un numérique, on le garde dans le champs, mais si il contient aussi du texte, on le bascule dans le champs "Infos pratiques", en le préfixant de "Participant :" : https://github.com/GeotrekCE/Geotrek-admin/pull/3256/commits/be18e7faa2883037219db215a91a03da5bf960d2#diff-a905699c6c53624377b204a209c6299cd83a562dd8be0ab109c935ca66e0f532R10 Idem quand on utilise un parser qui essaie d'insérer du texte dans "capacity" (https://github.com/GeotrekCE/Geotrek-admin/pull/3256/commits/5f4157f1aa6440f94ce4d4c0f91b1d9006cd7ef5#diff-71ac8d9e1fee50fb9833c882caf7fdd44bb5e5cd6b34aba000223338b86a1315R8)
Une grosse première partie a été développée et intégrée dans la version 2.88.0 (https://github.com/GeotrekCE/Geotrek-admin/releases/tag/2.88.0) :
- Ajout des champs
end_time
,cancelled
,cancellation_reason
,bookable
etplace
au niveau des événements touristiques - Le nouveau champs champs "Lieu d'événement" permet d'associer un événement à un lieu et de l'y localiser automatiquement (#3266)
- Le champs
cancellation_reason
(liste) n'est affiché que si le champscancelled
(booléen Oui/Non) est coché - Le champs
booking
(texte) n'est affiché que si le champbookable
(booléen Oui/Non) est coché - Ajout d'un onglet "Évaluation" permettant actuellement de renseigner le nombre de participants par classe d'âge
- Correction de l'API qui ne renvoyait pas les événements sans date de fin (#3127)
- Vérification que la date de fin est supérieure ou égale à la date de début
- Date de début obligatoire
- Réorganisation des champs dans le formulaire et la fiche détail
- Mise à jour de la vue
v_touristicevents
pour répercuter les ajouts et modifications de champs
Attention
- Le champs
meeting_time
a été renommé enstart_time
. Pour la rétrocompatibilité, les 2 intitulés sont renvoyés dans l'API - Le champs
participant_number
a été renommécapacity
et passé en format ENTIER au lieu de TEXTE. Pour la rétrocompatibilité, les 2 intitulés sont renvoyés dans l'API - Si vous aviez des parsers d'imports spécifiques alimentant les événements touristiques, vous devez appliquer ces modifications de nom et format de champs.
Les champs "Temps de préparation" et "Temps d'intervention" ont été ajoutés dans l'onglet "Évaluation" dans la version 2.89.0 (https://github.com/GeotrekCE/Geotrek-admin/pull/3281) :
La deuxième partie est discutée dans un autre ticket - https://github.com/GeotrekCE/Geotrek-admin/issues/3587