Les attributs incorporés configurés en lecture seule par défaut et rouverts par code back ne sont pas transmis au back lors du save

Problem description

Les attributs incorporés configurés en lecture seule par défaut et rouverts par code back (dans l’initUpdate) ne sont pas transmis au back lors du save alors qu’ils sont bien dégrisés dans l’IHM.

Steps to reproduce

I have reproduced the problem on an up-to-date Simplicité instance
and those are the steps to do it:

1.Attribut en lecture seule dans l’objet PartOfThing
2.Objet Thing incorporant l’objet PartOfThing
3.Code dans l’initUpdate de PartOfThing fait setUpdatable(true) selon diverses règles appliquées en back (pas applicables en front)
4.Modifier l’attribut de PartOfThing depuis le formulaire d’édition de Thing
5.La modification n’est pas prise en compte
6.Modifier l’attribut depuis le formulaire d’édition de PartOfThing (accès hors mode incorporé)
7.La modification est prise en compte

Technical information

Instance /health
[Platform]
Status=OK
Version=5.2.21
BuiltOn=2022-10-31 18:50
Git=5.2/9440a702644f55a95fa7dc0e9370b7c2b61f61ce
Encoding=UTF-8
EndpointIP=21.0.9.1
EndpointURL=http://c05a19c9ce30:8080
TimeZone=Europe/Paris
SystemDate=2022-11-04 18:14:49

[Application]
ApplicationVersion=1.0.0
ContextPath=
ContextURL=https://bca.dok-dev.intra.renault.fr
ActiveSessions=2
TotalUsers=9237
EnabledUsers=1868
LastLoginDate=2022-11-04 17:47:02

[Server]
ServerInfo=Apache Tomcat/9.0.68
ServerType=WEB
ServerActiveSessions=2
ServerSessionTimeout=30

[OS]
Name=Linux
Architecture=amd64
Version=3.10.0-1160.76.1.el7.x86_64
DockerImageName=centos7
SystemEncoding=UTF-8

[JavaVM]
Version=17.0.5
Vendor=Eclipse Adoptium
VMName=OpenJDK 64-Bit Server VM
VMVersion=17.0.5+8
ScriptEngine=rhino
ScriptEngineVersion=Rhino 1.7.13 2020 09 02
HeapFree=756845
HeapSize=1524640
HeapMaxSize=3040896
TotalFreeSize=2273101

[Cache]
ObjectCache=712
ObjectCacheMax=10000
ObjectCacheRatio=7
ProcessCache=25
ProcessCacheMax=10000
ProcessCacheRatio=0
APIGrantCache=0
APIGrantCacheMax=1000
APIGrantRatio=0

[Database]
Vendor=2
ProductName=MySQL
ProductVersion=5.6.39-log
DriverName=MySQL Connector/J
DriverVersion=mysql-connector-j-8.0.31 (Revision: 0c86fc148d567b62266c2302bdad0f1e7a7e4eba)
DBDate=2022-11-04 18:14:49
DBDateOffset=0
DBPatchLevel=5;P02;217646b1ab917df6851fb9e658785f66
UsingBLOBs=true

[Healthcheck]
Date=2022-11-04 18:14:49
ElapsedTime=14
Simplicité logs
NA
Browser logs
NA
Other relevant information

NA

Il doit y avoir un problème d’instance utilisée, l’objet incorporé est tantôt un panel (liste fille 0,1 filtrée sur le parent et présentée en formulaire), et tantôt l’instance main (en context update pour le save). On va corriger ce cas pour que l’initUpdate et le save utilisent la même instance si c’est bien ça le soucis.

Ok vu, c’était bien un problème au niveau du front qui n’appliquait pas au save les bonnes meta-données retournées par le get/initUpdate du formulaire inliné (collision d’instance panel/main). Ce sera corrigé en 5.2.22.

C’était un train caché derrière la correction sur la dernière release 5.2.21 :

1 Like