Mise à jour en masse - Accès aux données saisies

Tags: #<Tag:0x00007f2f2aeaad20>

Bonjour,

Je souhaiterai savoir s’il existe une méthode back pour accéder aux valeurs saisies dans les formulaires de mise à jour en masse, accessible avant le preUpdateAll ?

Cordialement
Jean-Baptiste

Non tel que l’update all est fait les données saisies ne sont pas accessibles.

Il serait effectivement intéressant de les passer au preUpdateAll. Je requalifie ce post en “feature request” pour voir comment intégrer cette évolution de hook.

Oui, ce serait pas mal en effet, y compris que le preUpdateAll puisse remonter des erreurs + bloquer les mises à jour (comme un preValidate pour un seul record).

Quel est le besoin précisément ?
En général une règle métier sur un objet est fait qu niveau de chaque record : chaque objet coché est mis à jour en boucle lors d’une mise à jour en masse, donc les valeurs saisies sont bien accessibles dans chaque pre/postValidate, pre/postSave…

Erratum le preUpdateAll peut déjà remonter une erreur bloquante à l’utilisateur.
Il y avait une coquille dans la V5.

On va regarder pour passer les attributs reçus sous cette forme :

public String preUpdateAll(Parameters params)

  • Les paramètres peuvent être lus/modifiés/forcés avant les mises à jour,
  • L’ancienne méthode sans paramètre restera présente en deprecated.

Bonjour,
et en V4, quelle solution pour remonter une erreur blocante dans ce cas ?
le prevalidate bloque la mise à jour mais ne renvoie pas de message.

La mise à jour en masse se passe comme suit en back si l’utilisateur a bien tous les droits sur l’objet :

preUpdateAll
Pour chaque ligne
   select(row_id)
   setFieldValue de chaque champ modifié en masse
   pre/postValidate
   preSave
       preUpdate
       update en base
       postUpdate
   postSave
postUpdateAll

Actuellement seul le message d’erreur du preUpdateAll est affiché, sinon la UI n’affiche que le “nombre d’enregistrements sauvegardés sans erreur / nombre total traité”. On va améliorer ça pour lister les erreurs distinctes dans un popup s’il y en a.

on est d’accord que le preUpdateAll n’existe pas en V4 p24 ?

Ce hook a toujours existé.
On a juste ajouté le passage de paramètres en V5 (actuellement en alpha V4.P25 mais ça va bouger).

Et si tu te mets à jour sur la P24, les erreurs des objets (validate) seront maintenant remontées à l’utilisateur.