Project

General

Profile

+1 pour les signalements

Mis en place à GL et Nancy, la possibilité pour un usager de faire "+1" sur un signalement existant à proximité de l'endroit où il s'apprêtait à déclarer une anomalie. Ça lui permet de terminer sa demande sans avoir à décrire le problème et de pouvoir suivre la résolution quand même.

Formulaire

Définir un gabarit du résumé.

Ce gabarit apparaîtra comme résumé des demandes à proximité.
Exemple : Signalement au {{ form_var_numero }} {{ form_var_voie }}.

L'identifiant attendu pour le champs Carte où l'usager indique où se situe son signalement est : carte

Ajout de deux pages :

  • ajout d'une page "signalements à proximité"
    • avec comme condition : request.view_name != 'validating' and form.objects.pending|distance_filter:100
    • cela permet d'afficher la page s'il y a des demandes à moins de 100m (et de ne pas l'afficher sur la page de validation)
  • dans cette page, ajout d'une carte "Carte des signalements à proximité"
    • classes css: template-nearby-forms (c'est ce qui va sélectionne le gabarit dédié)
    • niveaux de zoom, Petite route, Région, Fourmi (ça peut être autre chose, mais zoomer sur "Petite route" par défaut offre le meilleur comportement, je trouve)
    • identifiant: signalement_proximite
    • ne pas rendre obligatoire pour permettre de sortir de la page sans choisir une demande déjà existante
  • ajout d'une page "merci de votre contribution"
    • c'est une page qui vient quand l'usager a choisi un signalement similaire, pour lui dire merci au revoir
    • condition: form_var_signalement_proximite
    • condition de sortie: False (python), "merci de votre contribution"
  • dans cette page, ajout d'un titre "merci etc."
    • classes css: signalements-thanks
  • et possibilité ici d'ajouter d'autres champs, type commentaire, pour remercier davantage etc.

Par défaut les signalements à proximité sont présentés sans le bouton d'action "+1". Pour l'activer la variable activate_plus1_action avec la valeur True doit être définie dans Hobo.

Workflow

Du côté workflow, il y a introduction de deux données de traitement :
  • "Compteur des + 1" (identifiant: plus1), qui contiendra le nombre de +1
  • "Abonnés au +1" (identifiant: subscribers), qui contiendra la liste des (emails des) abonnés

et ajout d'une action globale, "plus 1", configurée pour avoir un déclencheur de type "appel externe" (identifiant: plus1), et les actions suivantes :

  • Modification de la donnée de traitement "Compteur des + 1"
    • plus 1 → {{form_var_plus1|default_if_none:"0"|add:1}}
  • Modification de la donnée de traitement "Abonnés au +1"
    • abonnés → {% if form_var_subscribers %}{{form_var_subscribers}}, {% endif %} {{session_user_email}}
    • condition: plus1_checked and session_user

Dans le workflow sont également à ajouter des mails à destination des abonnés ({{form_var_subscribers}}) et à poser l'action de géolocalisation, si pas déjà fait.

(fichiers .wcs d'exemple pour le formulaire et le worklow joints à cette page - réalisés pour Nancy)

Adaptations à prévoir lors de l'activation de la création de compte avec un numéro de mobile

Dans ce cas l'usager, peut avoir un numéro de mobile et pas de courriel. Donc sur une environnement cela nécessitera de d'abord adapter la fonctionnalité +1 :
  • Dans le form la popup de consentement affiche : "Oui, je souhaite être informé·e par courriel". Ici adapter pour une notification sur mobile ou email selon ce dont on dispose pour l'usager.
  • Dans le WF, usage de {{session_user_email}} dans l'action globale +1 à adapter.

[PierreC] Je propose une adaptation un peu différente : l'ajout sur la page des +1 de deux champs facultatifs pré-remplis avec le profil : courriel_follower et mobile_follower (avec un texte au-dessus pour dire que ce seront les coordonnées utilisées pour envoyer les infos de suivi). Plus besoin de popup à mon sens, si je renseigne rien je reçois rien. Ça nécessiterait des adaptations dans le WF bien sûr.

Évolutions

Évolutions faites ici : https://dev.entrouvert.org/projects/marseille/wiki/Signalement_-_%C2%AB_+1_%C2%BB
A retraiter à l'occasion.

Also available in: PDF HTML TXT