Esempio n. 1
0
 /**
  * Création des lignes de jeux de données.
  *
  * @param EiDataSet $ds
  * @param null $parent
  */
 public function createEmptyDataLines($ds = null, $parent = null)
 {
     $line = new EiDataLine();
     $line->setEiDataSet($ds);
     $line->setLft($this->getLft());
     $line->setRgt($this->getRgt());
     $line->setLevel($this->getLevel());
     $line->setEiDataLineParent($parent);
     if ($parent == null) {
         $ds->setRootStr($line);
     }
 }
Esempio n. 2
0
 /**
  * Créer une nouvelle ligne de données vide pour le block
  * @param type $ei_data_set_id
  * @return \EiDataLine
  */
 public function createEiDataLine($ei_data_set_id, $root_id = null)
 {
     $ei_data_line = new EiDataLine();
     $ei_data_line->setEiDataSetStructureId($this->getId());
     $ei_data_line->setEiDataSetId($ei_data_set_id);
     $ei_data_line->setRootId($root_id);
     $params = $this->getLeaves();
     $ei_data_lines = new Doctrine_Collection('EiDataLine');
     foreach ($params as $p => $param) {
         $param_line = new EiDataLine();
         $param_line->setEiDataLineParent($ei_data_line);
         $param_line->setEiDataSetStructureId($param->getId());
         $param_line->setEiDataLineRoot($ei_data_line->getEiDataLineRoot());
         $param_line->setEiDataSetId($ei_data_set_id);
         $param_line->setRootId($root_id);
         $ei_data_lines->add($param_line);
     }
     $ei_data_line->setEiDataLines($ei_data_lines);
     return $ei_data_line;
 }
Esempio n. 3
0
 /**
  * Méthode permettant de vérifier puis compléter un jeu de données s'il manque des attributs.
  */
 public function completeDataSet()
 {
     /** @var EiDataSetStructureTable $dsTable */
     $dsTable = Doctrine_Core::getTable("EiDataSetStructure");
     /** @var EiDataLineTable $dlTable */
     $dlTable = Doctrine_Core::getTable("EiDataLine");
     // Récupération des éléments manquants.
     $eltsMqts = $dsTable->findMissingElementsInDataSet($this->getId(), $this->getEiNode()->getEiScenarioNode()->getObjId());
     if ($eltsMqts != null && $eltsMqts->count() > 0) {
         // On parcourt la liste d'éléments manquants.
         /** @var EiDataSetStructure $elt */
         foreach ($eltsMqts as $elt) {
             // CAS ATTRIBUT.
             if ($elt->getType() == EiDataSetStructure::$TYPE_LEAF) {
                 $lignesConcernees = $dsTable->getRelatedDataSetLines($this->getId(), $elt->getEiDatasetStructureParentId());
                 if (count($lignesConcernees) > 0) {
                     foreach ($lignesConcernees as $ligneConcernee) {
                         $parent = $dlTable->find($ligneConcernee["id"]);
                         $ligne = new EiDataLine();
                         $ligne->setEiDataSetId($this->getId());
                         $ligne->setEiDataSetStructureId($elt->getId());
                         $ligne->setRootId($elt->getRootId());
                         $ligne->save();
                         $ligne->getNode()->insertAsLastChildOf($parent);
                     }
                 }
             }
         }
     }
 }