public function formFrameSemanticType() { $model = new Frame($this->data->id); $this->data->object = $model->getData(); $this->data->idEntity = $model->getIdEntity(); $this->data->form = "formFrameSemanticType"; $this->data->close = "!\$('#formFrameSemanticType_dialog').dialog('close');"; $this->data->title = 'Frame: ' . $model->getEntry() . ' [' . $model->getName() . ']'; $this->render(); }
public function createFromFrame($idFrame) { $transaction = $this->beginTransaction(); try { $frame = new Frame($idFrame); $this->setEntry('tpl_' . strtolower(str_replace('frm_', '', $frame->getEntry()))); $this->save(); Base::createEntityRelation($this->getIdEntity(), 'rel_createdfrom', $frame->getIdEntity()); $fes = $frame->listFE()->asQuery()->asObjectArray(); $fe = new FrameElement(); foreach ($fes as $feData) { $fe->setPersistent(false); $feEntry = $this->getEntry() . '_' . $feData->entry; $entry = new Entry(); $entry->cloneEntry($feData->entry, $feEntry); $fe->setEntry($feData->entry); $entity = new Entity(); $entity->setAlias($feEntry); $entity->setType('FE'); $entity->save(); Base::createEntityRelation($entity->getId(), 'rel_elementof', $this->getIdEntity()); $coreType = new TypeInstance($feData->idCoreType); Base::createEntityRelation($entity->getId(), 'rel_hastype', $coreType->getIdEntity()); $fe->setIdEntity($entity->getId()); $fe->setActive(true); $fe->setIdColor($feData->idColor); $fe->saveModel(); } $transaction->commit(); } catch (\Exception $e) { $transaction->rollback(); throw new \Exception($e->getMessage()); } }
public function createNew($data, $inheritsFromBase) { $relations = $this->getRelations(true); $transaction = $this->beginTransaction(); try { $this->save($data); if ($data->idTemplate) { if ($inheritsFromBase) { $template = new Template($data->idTemplate); $base = $template->getBaseFrame()->asQuery()->getResult(); if (count($base)) { $idFrameBase = $base[0]['idFrame']; $frameBase = new Frame($idFrameBase); $relations = $frameBase->getRelations(); Base::createEntityRelation($frameBase->getIdEntity(), 'rel_inheritance', $this->getIdEntity()); } } } $transaction->commit(); return $relations; } catch (\Exception $e) { $transaction->rollback(); throw new \Exception($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()); } } }