Le updatable de la contrainte appelle la fonction redraw() qui semble via l’appel à val() (sans paramètre) vouloir chercher le document dans la partie Choose file et non le document déjà enregistré.
Merci pour ton retour très détaillé. Visiblement le redraw se passe mal pour un document en lecture seule.
Simplicité est obligé de redessiner tout le contrôle car l’affichage peut vraiment varier quand on change dynamiquement le read-only (input qui devient un texte simple, boutons en moins ou en plus…).
Ok bug reproduit, un champ document est un peu spécial.
le field.ui.val() ne ramène pas la valeur du field (doc en base) mais la valeur saisie sur la UI. Et cela ne ramène rien vu qu’aucun document/image n’a été téléchargé.
On va ajouter un test pour utiliser le document d’origine dans ce cas.
Ce sera livré en 6.3.7 vu qu’on vient juste de releaser la 6.3.6.
Merci beaucoup pour ton retour rapide, j’ai essayé de faire vite pour que vous profitiez de la 6.3.6 mais c’était long à analyser c’est en effet très complexe les documents.
Le fix est assez compliqué à trouver car switcher en read-only/updatable + modifier le document au passage avec un input file qui se vide pour remettre l’ancien document, c’est un peu impossible…
Bref ce sera pas faisable avant la prochaine release à mon avis.
Correctif livré et à tester en preview/6.3.7 car toucher aux documents est assez sensible.
Le cas qui posait problème :
Boolean à Vrai : la contrainte passe le document en éditable
Sélection d’un document
Booléen à Faux : le champ passe en lecture / l’input file est détruit, il ne reste que le nom du document dans un champ texte en lecture
Booléen à Vrai : le champ repasse en écriture / l’input file est de nouveau disponible mais vide (on ne peut pas setter un input file avec un File) ! seul le nom du document en lecture reste présent