Projet

Général

Profil

Actions

Bug #15261

fermé

Récupération de la clé au lieu de la valeur dans un tag notify avec ${folder.item} si l'item est une liste de sélection.

Bug #15261: Récupération de la clé au lieu de la valeur dans un tag notify avec ${folder.item} si l'item est une liste de sélection.

Ajouté par David Lesimple il y a 4 mois. Mis à jour il y a environ 2 mois.

Statut:
Closed
Priorité:
High
Assigné à:
Catégorie:
Workflow
Début:
14/04/2026
Echéance:
% réalisé:

0%

Temps estimé:
Navigateur:
Tous
Votre version de Silverpeas:
6.4
Système d'exploitation:
Votre base de données:
Toutes
Livraison en TEST:
Livraison en PROD:

Description

Exemple d'item :

<item name="Lot" computed="false">
      <label role="default" lang="default">Lot</label>
      <type>text</type>
      <readonly>false</readonly>
      <param name="keys" value="9##10##11##12##13"/>
      <param name="values" value="Lot 9 Outils, Digitalisation RH, mutation numérique##Lot 10 Qualité de vie et conditions de travail (QVCT) / Responsabilité Sociétale des Entreprises (RSE)##Lot 11 Formation et compétences##Lot 12 Management et gouvernance## Lot 13 Organisation et stratégie de la fonction RH"/>
    </item>

Utilisation dans un notify :

 <notify message="Le diagnostic relatif ... ${folder.Lot} est validé par les services...">

Résultat de la notification reçue :


Fichiers

Mis à jour par David Lesimple il y a 4 mois Actions #1

  • Priorité changé de Normal à High

Note: on pourrait penser qu'il est facile de contourner le problème en mettant à l'identique clés et valeurs mais quand la valeur comporte un apostrophe, l'enregistrement de l'item du dossier ne fonctionne pas...

Mis à jour par David Lesimple il y a 3 mois Actions #2

  • Statut changé de New à In progress...
  • Assigné à mis à David Lesimple

Mis à jour par David Lesimple il y a 2 mois Actions #3

  • Projet changé de Process Manager à Silverpeas Core
  • Catégorie mis à Workflow

Mis à jour par David Lesimple il y a 2 mois Actions #4

  • Statut changé de In progress... à Assigned
  • Assigné à changé de David Lesimple à Miguel Moquillon

Mis à jour par Miguel Moquillon il y a environ 2 mois Actions #5

  • Statut changé de Assigned à In progress...

Mis à jour par Miguel Moquillon il y a environ 2 mois Actions #6

David, peux tu m'indiquer un workflow existant avec lequel je puisse faire mes tests sur ce cas précis

Mis à jour par David Lesimple il y a environ 2 mois Actions #7

Miguel Moquillon a écrit (#note-6):

David, peux tu m'indiquer un workflow existant avec lequel je puisse faire mes tests sur ce cas précis

La demande de congés.

Mis à jour par David Lesimple il y a environ 2 mois · Edité Actions #8

clipboard-202606181202-5doab.png

Un exemple plus concret :
Soit le champ nature défini comme suit :

 <item name="nature" computed="false">
            <label lang="default" role="default">Type de congés</label>
            <type>text</type>
            <readonly>false</readonly>
            <param name="keys" value="0##1##2##3##4"/>
            <param name="values" value="Congés payés##RTT##Congés sans solde##Récupération##Autre"/>
        </item>

Le formulaire presentation est défini comme suit :

<presentation>
        <title lang="default" role="Employe">Congés ${folder.nature} du ${folder.dateDebut} (${folder.debutJourneeOuDemi}) au ${folder.dateFin} (${folder.finJourneeOuDemi})</title>
...
<columns role="Employe">
            <column item="nature"/>
            <column item="duree"/>
        </columns>

Résultat d'affichage :

C'est la résolution de ${folder.<nom_champ>) qui ne fonctionne pas (si les clés sont différentes des valeurs), que ce soit dans un formulaire presentation ou dans un tag notify .

A noter que ${folder.<nom_champ>.values} ne fonctionne pas.

Mis à jour par Miguel Moquillon il y a environ 2 mois · Edité Actions #9

  • Statut changé de In progress... à Closed

La correction a été directement intégrée dans la branche 6.4.x et reportée sur master et master-jee.
J'ai du modifié DataRecordUtil et utilisé WorkflowUtil pour pouvoir résoudre le bogue.

Toutefois, tout le traitement dans le workflow sur les text field qui cachent derrière un dictionnaire est un gros hack et c'est ce bug résulte de ce hack. J'ai maintenu dans ma correction le hack mais il est clair qu'il faudra sérieusement réfléchir à coder un Field qui représente derrière un dictionnaire de valeurs et arrêter d'utiliser un simple text field pour ça !

Actions

Formats disponibles : PDF Atom