Empêcher l’exécution de postSelect en list

4.0
Empêcher l’exécution de postSelect en list
0
Tags: #<Tag:0x00007f6487a32aa8>

#1

Bonjour,

J’ai ajouté une fonction dans le postSelect d’un objet (Locataire) afin de calculer son ancienneté à chaque fois qu’on ouvre le formulaire d’un locataire.

Ça fonctionne bien et je retrouve bien l’ancienneté d’un locataire dans le formulaire. Par contre, je constate dans la console que le calcul est fait inutilement pour tous les locataires quand je suis sur la liste.

Il y a t’il un moyen de ne lancer la fonction postSelect que si je suis dans un formulaire ?
Je précise que le champ ancienneté n’est pas affiché dans la liste.

Merci d’avance pour votre aide.
Abed


(David AZOULAY) #2

Déjà, il y a de nombreux cas où faire des calculs à la volée n’est pas l’approche optimale

Ex: Si on veut compter le nombre d’objets B liés à un objet A et afficher cette info au niveau A, on optimise les choses en valorisant le champ de A dans les postCreate et postDelete de B

Sinon on peut toujours mettre son code sous une condition du type if (!this.getContext().isList()) mais si on affiche les champs en question sur la liste les valeurs affichées ne seront pas forcément les bonnes.