Agent level Sector Attributions : Migration + Admin UI + Search
Created by: adipasquale
https://trello.com/c/ah4YO3LK/1109-secto-support-des-r%C3%A8gles-de-niveau-agent
followup to #919 rebased on master
Migration de la DB
Screencast
Nouvelle Page séparée pour la création d'une SectorAttribution
Ce formulaire est relativement interactif et force la page à se recharger au changement de certains paramètres pour limiter la quantité de JS à écrire. Le but est de donner des indications contextualisées à la personne qui configure le formulaire : pourquoi certaines orgas ou agents ne sont pas disponibles etc.
Détails techniques
- j'ai refacto et complexifié le service
SectoriseAddressService
. Il est maintenant responsable de renvoyer les motifs et services disponibles en plus des agents et orgas attribuées - Le code pour trouver les motifs disponibles a la recherche est pas mal complexifié par l'introduction de cette fonctionnalité. Il faut joindre les plages d'ouvertures des agents des orgas entières attribués + des agents individuellement attribués. Je l'ai fait avec des requêtes ActiveRecord (AREL) groupées par des
.or
- j'ai transformé ce service avec une signature
#perform
unique en un PORO (Plain Old Ruby Object)Users::GeolocalisedSearch
avec plusieurs methodes publiques#matching_zones
,#available_motifs
etc. Je ne trouvais pas de maniere coherente de le faire en Service classique. J'ai mis ce nouvel objet un peu unique dans un repertoire/app/service_models
, tres tres discutable.