+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}}
- plus 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
- abonnés →
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)