Contexte dans un impact

Contexte dans un impact
0
Tags: #<Tag:0x00007f395076fc88>

Bonjour,

L’expression suivante [CONTEXT:LIST] me retourne true dans une liste mais aussi dans le formulaire de mise à jour.

Est-ce normal?

Le paramétrage de ma contrainte :

testé sur

Simplicité version4.0 patch level P23c (database patch level P22)

Cela n’a rien à voir avec votre question mais merci de toujours indiquer la révision en plus de la version/patchlevel.

Attention, là vous êtes sur la branche prerelease qui est actuellement encore calée sur la P23c (c pour “release candidate” devenue iso à la release P23). On va bientôt y pousser la P24b (b c’est pour “beta”). Si vous restez calé sur cette branche vous allez bientôt passer par une zone de turbulences car le périmètre de la P24 n’est pas négligeable…

La contrainte a été testé sur la révision (branche 4.0p):

Simplicité version4.0 patch level P23c (database patch level P22)Built on2019-06-12 21:34 (revision fca582b300e49ae8d783f9630ecd4932b007291f)

et je reproduis aussi sur (branche 4.0r):

Simplicité version4.0 patch level P23 (database patch level P23)Built on2019-06-12 21:38 (revision 39de6d00a24a02bd85fbfbab8e9e682d29a71b3a)

Les 2 instances sont sur l’instance manager en auto-update.

Je vais essayer de reproduire le cas.
Savez-vous si le context en faux dans le script back ou front ?

Le contexte est faux dans le front.
Je n’ai pas vérifié dans le back.

Non reproduit, il doit manquer un “else” dans votre logique.

Il manque une contrainte qui réinitialise votre objet ou une contrainte qui fasse l’inverse dans les autres contextes. L’objet reste en mémoire dans l’état dans lequel les contraintes et les hooks l’ont laissé.

Pour que votre contrainte s’applique dans tous les contextes, il faut mettre une expression “true” au niveau de la contrainte pour qu’elle s’pplique dans tous les contextes, et dans vos impacts mettre une expression basée sur le boolean [CONTEXT:LIST]

Exemple pour masquer un champ dans un impact :
[CONTEXT:LIST] ? ObjectField.VIS_HIDDEN : ObjectField.VIS_BOTH

Ainsi, le champ sera masqué en liste mais bien remis à visible dans tous les autres contextes.

Ok, le bug se produit seulement si on coche effets front-end et back-end

Ca fonctionne si je décoche back-end

J’ai parlé trop vite, ça fonctionne sur testrobin4 qui est sur la branche 4.0p mais pas sur les instances en 4.0r.

Il n’y a actuellement aucune différence entre la 4.0 prerelease et release (en tout cas si elles sont toutes les deux bien à jour).

Les seules différences c’est le nom du patch level P23 pour release vs P23c pour prerelease et le bloc de fin (pour mise à jour du param système PATCH_LEVEL) dans le patch, ces différences qui sont sans effet sur le fonctionnement de la plateforme, sont normales entre ces 2 branches

> git diff -U0 release..prerelease
diff --git a/build.properties b/build.properties
index 9a6066ee5..6196e1198 100644
--- a/build.properties
+++ b/build.properties
@@ -6 +6 @@ simplicite.version=4.0
-simplicite.patchlevel=P23
+simplicite.patchlevel=P23c
diff --git a/pom.xml b/pom.xml
index 9d0ba68fe..727160ba5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6 +6 @@
-  <version>4.0.P23</version>
+  <version>4.0.P23c</version>
diff --git a/util/patch/V4.0/P23/patch.xml b/util/patch/V4.0/P23/patch.xml
index 97e0b0545..09d3aaad5 100644
--- a/util/patch/V4.0/P23/patch.xml
+++ b/util/patch/V4.0/P23/patch.xml
@@ -6351,0 +6352 @@ body {
+<!-- Keep at the end + uncomment when releasing
@@ -6359,0 +6361 @@ body {
+-->

Bref, s’il y a une différence de comportement entre vos instances, il faut la chercher dans votre paramétrage, pas au niveau de la plateforme Simplicité.

Effectivement, ça fonctionne sur les 2 instances vierges en release et pre-release.

Quel type de paramétrage pourrait influencer la variable context en front?

Je viens de le reproduire sur une nouvelle instance vierge
https://contrainte2.partenor.simplicite.io/ui
login : designer mdp : designer
Domaine test > Objet contrainte

Pouvez-vous regarder ?