private function createTranslationNode(Node $rootNode, $language, HasNodeInterface $page) { $translationNode = new NodeTranslation(); $translationNode->setNode($rootNode)->setLang($language)->setTitle($page->getTitle())->setOnline(false)->setWeight(0); return $translationNode; }
/** * Create a node translation for a given node * * @param HasNodeInterface $hasNode The hasNode * @param string $lang The locale * @param Node $node The node * @param BaseUser $owner The user * * @throws \InvalidArgumentException * * @return NodeTranslation */ public function createNodeTranslationFor(HasNodeInterface $hasNode, $lang, Node $node, BaseUser $owner) { $em = $this->getEntityManager(); $className = ClassLookup::getClass($hasNode); if (!$hasNode->getId() > 0) { throw new \InvalidArgumentException("The entity of class " . $className . " has no id, maybe you forgot to flush first"); } $nodeTranslation = new NodeTranslation(); $nodeTranslation->setNode($node)->setLang($lang)->setTitle($hasNode->getTitle())->setOnline(false)->setWeight(0); $em->persist($nodeTranslation); $nodeVersion = $em->getRepository('KunstmaanNodeBundle:NodeVersion')->createNodeVersionFor($hasNode, $nodeTranslation, $owner, null); $nodeTranslation->setPublicNodeVersion($nodeVersion); $em->persist($nodeTranslation); $em->flush(); $em->refresh($nodeTranslation); $em->refresh($node); return $nodeTranslation; }
/** * @covers Kunstmaan\NodeBundle\Entity\NodeTranslation::setNode * @covers Kunstmaan\NodeBundle\Entity\NodeTranslation::getNode */ public function testSetGetNode() { $node = new Node(); $this->object->setNode($node); $this->assertEquals($node, $this->object->getNode()); }
/** * Add nodeTranslation * * @param NodeTranslation $nodeTranslation * * @return Node */ public function addNodeTranslation(NodeTranslation $nodeTranslation) { $this->nodeTranslations[] = $nodeTranslation; $nodeTranslation->setNode($this); return $this; }
/** * @covers Kunstmaan\NodeBundle\Helper\Menu\ActionsMenuBuilder::createActionsMenu */ public function testShouldShowDeleteButtonWhenTheNodeHasAParent() { $nodeTranslation = new NodeTranslation(); $node = new Node(); $node->setParent(new Node()); $nodeTranslation->setNode($node); $nodeVersion = new NodeVersion(); $nodeVersion->setType('public'); $nodeVersion->setNodeTranslation($nodeTranslation); $this->builder->setActiveNodeVersion($nodeVersion); $menu = $this->builder->createActionsMenu(); $this->assertNotNull($menu->getChild('action.delete')); $this->assertEquals('page-main-actions js-auto-collapse-buttons', $menu->getChildrenAttribute('class')); }