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)

Also available in: PDF HTML TXT