Geotrek-admin icon indicating copy to clipboard operation
Geotrek-admin copied to clipboard

Evolution du module ÉVÉNEMENTS - Compléments et évaluation

Open camillemonchicourt opened this issue 2 years ago • 3 comments

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.

camillemonchicourt avatar Sep 19 '22 08:09 camillemonchicourt

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 de start_time dans l'API
  • [x] Faire un alias pour que le champ participant_number soit fourni en plus de capacity 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)

Chatewgne avatar Sep 26 '22 15:09 Chatewgne

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 et place 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 champs cancelled (booléen Oui/Non) est coché
  • Le champs booking (texte) n'est affiché que si le champ bookable (booléen Oui/Non) est coché
  • Ajout d'un onglet "Évaluation" permettant actuellement de renseigner le nombre de participants par classe d'âge image
  • 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é en start_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.

camillemonchicourt avatar Oct 12 '22 08:10 camillemonchicourt

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

image

camillemonchicourt avatar Oct 20 '22 13:10 camillemonchicourt

La deuxième partie est discutée dans un autre ticket - https://github.com/GeotrekCE/Geotrek-admin/issues/3587

camillemonchicourt avatar May 03 '23 21:05 camillemonchicourt