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'));
 }