Projet

Général

Profil

Actions

Anomalie #5538

fermé

SearchDoc ne réinitialise pas correctement les valeurs des attributs des familles filles si ceux-ci sont dans un array

Ajouté par Matthieu Codron il y a presque 11 ans. Mis à jour il y a plus de 10 ans.

Statut:
Résolu
Priorité:
Normal
Assigné à:
Version cible:
Début:
27/05/2015
Echéance:
% réalisé:

100%

Temps estimé:
Version source:
Solution proposée:
Principaux fichiers impactés:
Complexité:
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

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.

Remarques :
  • la recherche porte sur la famille mère, alors que les documents trouvés sont de la famille fille
ci joint un webinst implémentant un exemple :
  • lancer l'API ./wsh.php --api=bug qui 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=CHILD afin de travailler avec des documents vierges.

Fichiers

BUG-1.0.0-0.webinst (1,61 ko) BUG-1.0.0-0.webinst Matthieu Codron, 27/05/2015 20:00

Mis à jour par Matthieu Codron il y a presque 11 ans

  • Description mis à jour (diff)

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

Mis à jour par Éric Brison il y a plus de 10 ans

  • Statut changé de À analyser à Assigné

A vérifier si corrigé par #5716

Mis à jour par Éric Brison il y a plus de 10 ans

  • Statut changé de Assigné à Résolu

Corrigé par #5716

Mis à jour par Éric Brison il y a plus de 10 ans

  • % réalisé changé de 0 à 100
Actions

Formats disponibles : Atom PDF