public function delete()
 {
     $transaction = $this->beginTransaction();
     try {
         $idTemplate = $this->getId();
         $idEntity = $this->getIdEntity();
         // remove entry
         $entry = new Entry();
         $entry->deleteEntry($this->getEntry());
         // remove related FEs
         //Base::deleteEntity2Relation($idEntity, 'rel_elementof');
         $fe = new FrameElement();
         $fes = $this->listFEforDeletion()->asQuery()->getResult();
         foreach ($fes as $row) {
             $fe->getById($row['idFrameElement']);
             $fe->delete();
         }
         // remove this template
         parent::delete();
         // remove entity
         $entity = new Entity($idEntity);
         $entity->delete();
         $transaction->commit();
     } catch (\Exception $e) {
         $transaction->rollback();
         throw new \Exception($e->getMessage());
     }
 }
Ejemplo n.º 2
0
 public function registerTemplate($idTemplate)
 {
     $template = new Template($idTemplate);
     $fes = $template->listFEforNewFrame()->asQuery()->getResult();
     Base::createEntityRelation($this->getIdEntity(), 'rel_hastemplate', $template->getIdEntity());
     $frameElement = new FrameElement();
     foreach ($fes as $fe) {
         $newFE = new \StdClass();
         $newFE->entry = $this->getEntry() . '_' . $fe['entry'] . '_' . $template->getEntry();
         $newFE->idCoreType = $fe['idCoreType'];
         $newFE->idColor = $fe['idColor'];
         $newFE->idEntity = $fe['idEntity'];
         $newFE->idFrame = $this->getId();
         $frameElement->setPersistent(false);
         $frameElement->setData($newFE);
         $frameElement->save($newFE);
         Base::createEntityRelation($frameElement->getIdEntity(), 'rel_hastemplate', $newFE->idEntity);
     }
 }
Ejemplo n.º 3
0
 public function updateFrameElement()
 {
     try {
         $model = new FrameElement($this->data->frameelement->idFrameElement);
         $model->updateEntry($this->data->frameelement->entry);
         $model->setData($this->data->frameelement);
         $model->save($this->data->frameelement);
         $this->renderPrompt('information', 'OK', "structure.editEntry('{$this->data->frameelement->entry}');");
     } catch (\Exception $e) {
         $this->renderPrompt('error', $e->getMessage());
     }
 }
 public function createRelationsFromData($fe)
 {
     if ($fe->idFrame) {
         $frame = new Frame($fe->idFrame);
         Base::createEntityRelation($this->getIdEntity(), 'rel_elementof', $frame->getIdEntity());
     }
     $feRelated = new FrameElement();
     if ($fe->coreset) {
         foreach ($fe->coreset as $coreset) {
             $feRelated->getByEntry($coreset->entry);
             Base::createEntityRelation($this->getIdEntity(), 'rel_coreset', $feRelated->getIdEntity());
         }
     }
     if ($fe->excludes) {
         foreach ($fe->excludes as $excludes) {
             $feRelated->getByEntry($excludes->entry);
             Base::createEntityRelation($this->getIdEntity(), 'rel_excludes', $feRelated->getIdEntity());
         }
     }
     if ($fe->requires) {
         foreach ($fe->requires as $requires) {
             $feRelated->getByEntry($requires->entry);
             Base::createEntityRelation($this->getIdEntity(), 'rel_requires', $feRelated->getIdEntity());
         }
     }
 }