Actions
Anomalie #5538
ferméSearchDoc ne réinitialise pas correctement les valeurs des attributs des familles filles si ceux-ci sont dans un array
Début:
27/05/2015
Echéance:
% réalisé:
100%
Temps estimé:
Contrôle:
Thème:
Socle technique
Régression:
Non
Description
soit les familles
- FATHER (pas d'attribut)
- CHILD (hérite de father)
- array: my_array
- colonne: my_column
- array: my_array
et uniquement des documents de la famille CHILD
soit le code
$s = new SearchDoc('', 'FATHER');
$s->setObjectReturn();
foreach($s->getDocumentList() as $doc)
{
$arrayValue = $doc->getAttributeValue('my_array');
$msg = sprintf(
"[%s] array value before : [%s]\n",
$doc->initid,
var_export($arrayValue, true)
);
print $msg;
$arrayValue[] = [ 'my_column' => $doc->id ];
$doc->setAttributeValue('my_array', $arrayValue);
$doc->store();
$msg = sprintf(
"[%s] array value after : [%s]\n",
$doc->initid,
var_export($arrayValue, true)
);
print $msg;
print "-----\n";
}
Si le tableau est vide, alors le getAttributeValue récupère, pour chaque document, la valeur du même attribut sur le document précédent.
Dans le cas où le tableau n'est pas vide, ce bug n'apparaît pas.
- la recherche porte sur la famille mère, alors que les documents trouvés sont de la famille fille
- lancer l'API
./wsh.php --api=bugqui implémente le code pré-cité- lors de la première itération, on voit bien que les valeurs sont empilées dans le tableau
- lors des itérations suivantes, les valeurs restent celles du document.
- NOTE: le déploiement du module lance l'api
./wsh.php --api=fdl_deletefamily --famid=CHILDafin de travailler avec des documents vierges.
Fichiers
Actions
#2
Mis à jour par Marc Claverie il y a presque 11 ans
- Statut changé de Nouveau à À analyser
- Assigné à mis à Éric Brison
- Version cible mis à 3.2.20
Actions
#3
Mis à jour par Éric Brison il y a plus de 10 ans
- Statut changé de À analyser à Assigné
A vérifier si corrigé par #5716
Actions
#4
Mis à jour par Éric Brison il y a plus de 10 ans
- Statut changé de Assigné à Résolu
Corrigé par #5716
Actions