toulouse-maelis: ajouter du traitement sur les indicateurs passés à la démarche d'inscription en crèche (#74445) #105
Loading…
Reference in New Issue
No description provided.
Delete Branch "wip/74445-parsifal-manage-ape-indicators"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Je découpe le référentiel des indicateurs APE en 3 référentiels semblables à ceux des indicateur enfants et adultes sur le DUI.
J'ai renommé la fonction qui valide les indicateurs (et calcule leur valeur booléenne).
Sur cette même fonction, j'ai remonté d'un niveau le nom du champ qui contient les indicateur dans le payload pour pouvoir l'utiliser également sur la réservation APE.
J'ai revert #74401 parce qu'il y a du cache sur l'objet request de w.c.s qui fait que l'on ne peut pas utiliser dans le même formulaire 2 sources de données différentes, servies par la même url, utilisant un dictionnaire (paramètre data) différent.
toulouse-maelis: factoriser le traitement sur les indicateurs.to toulouse-maelis: factoriser le traitement sur les indicateurs (#74445)Si je comprends correctement la description c'est un bug, j'ai créé https://dev.entrouvert.org/issues/74449 pour suivre ça.
Ça a été https://dev.entrouvert.org/issues/74449 donc ça va être ok côté wcs, sans doute cette PR peut donc être annulée.
Vu pour #74449, Merci Fred. Donc oui pas de revert de #74401.
Mais le propos ici c'est de factoriser les traitements sur les indicateurs,
parce qu'il est une source de confusion récurrente entre moi et Stéphane.
(Stéphane envisage par exemple de pouvoir les présenter sous forme de bloc de champs)
2d25d967eb
to87b1e27676
87b1e27676
to8038351769
Je ne capte en fait pas vraiment ce qui est entendu par "factoriser" ici (qui s'entend régulièrement comme une généralisation pour une réduction de code), ce que je ne trouve pas dans le commit en question.
Tu peux éventuellement donner un exemple des confusions actuelles ?
Et/ou de comment ça aiderait pour ce point ? (en notant que je ne sais pas ce que voudrait dire "présenter un indicateur sous forme de bloc de champs").
Dans create_nursery_demand, les indicateurs ne sont pas traités pour être transformés en Booléen. C'est un oubli et donc pour être plus lisible, j'aurais du ajouter du code ici pour le factoriser ensuite.
L'utilisation de valeurs qui ne sont pas des booléens pour remplir les champ isActive (je ne me rappelle plus pourquoi mais on avait par exemple une chaîne 'False' ou '0' qui était prise pour True).
Utiliser le filtre getlistdict pour envoyer un tableau au connecteur.
Ceci supposerait l’omission du champ isActive qui serait implicitement vrai.
(bien qu'ensuite on ne pourrait plus mettre à jours la demande en retirant des indicateurs)
8038351769
toea797ce26e
Par "factoriser" tu entends donc l'ajout de ces trois lignes en haut de la méthode create_nursery_demand ? :
Et ces lignes, loin de "assert", servent en fait à transformer les données ?
Ok c'est compliqué de parler de "champs", pour moi ça évoque les champs des démarches. Ici le cadre c'est "w.c.s. envoie des données, passerelle doit les interpréter", et le truc est qu'on voudrait pour le booléen "isActive" pouvoir envoyer aussi bien un booléen qu'une chaine qui dirait 'Oui', ou un entier qui dirait 1, ou à l'opposé "Non" ou 0.
(je laisse ça de côté).
--
Donc le problème de ce patch ce serait plus général c'est dans ce connecteur appeler "assert" quelque chose qui modifie les données.
Et cette branche dans un commit fait en sorte de traiter le paramètre isActive. Et dans un autre divise l'endpoint read_ape_indicators_list en trois ?
Mais ces deux sujets n'ont pas de rapport ?
ea797ce26e
to753c572b7a
Oui, c'était bien ici que je voulais faire appel à l'existant (en le modifiant un peu pour que ce soit possible).
(et je comprend que je ne dois pas utiliser le terme "factoriser" ici, j'aurais du dire rationaliser ou rendre générique par exemple.)
Historiquement, je n'avais qu'à contrôler le payload, puis est apparu le problème d'encodage des booléens.
Les champs étant tous parcourus sur le contrôle, j'y ai glissé cet encodage.
Il conviendrait donc de renommer les fonctions assert_payload_ en validate_and_adapt_payload_ et je fais ça de suite dans un autre ticket.
Jusqu'à présent la définition des indicateurs nous était toujours fournie via un référentiel.
Mon idée était d'utiliser le même traitement sur les indicateurs (via les référentiel) que celui utilisé jusqu'à présent.
Pour cela le plus simple était de diviser les indicateurs APE en 3 référentiels distincts.
Je ne sais pas comment tu fais pour avoir le nez creux à ce point, mais il se trouve que sur les inscriptions il est à présent prévu de passer de nouveaux indicateurs, qui ne seront pas définis via un référentiel.
J'abandonne ici l'idée de généraliser le traitement des indicateurs et j'ajoute simplement du code spécifique.
753c572b7a
to14f59b52ca
14f59b52ca
to26896e57eb
J'ai mis à jour le titre de la PR pour refléter tous ces changements.
(il n'est plus question de factoriser quoi que ce soit)
toulouse-maelis: factoriser le traitement sur les indicateurs (#74445)to toulouse-maelis: ajouter du traitement sur les indicateurs passés à la démarche d'inscription en crèche (#74445)26896e57eb
to3779347a85
3779347a85
to761391c484