diff --git a/EventListener/CloneListener.php b/EventListener/CloneListener.php index 34fddfa..1967179 100644 --- a/EventListener/CloneListener.php +++ b/EventListener/CloneListener.php @@ -55,7 +55,9 @@ public function postDeepCloneAndSave(DeepCloneAndSaveEvent $event) } if ($originalEntity instanceof HasPageTemplateInterface) { $clonedEntity = $event->getClonedEntity(); - $newPageTemplateConfiguration = clone $this->em->getRepository('KunstmaanPagePartBundle:PageTemplateConfiguration')->findOrCreateFor($originalEntity); + $PageTemplateConfigurationRepo = $this->em->getRepository('KunstmaanPagePartBundle:PageTemplateConfiguration'); + $PageTemplateConfigurationRepo->setContainer($this->kernel->getContainer()); + $newPageTemplateConfiguration = clone $PageTemplateConfigurationRepo->findOrCreateFor($originalEntity); $newPageTemplateConfiguration->setId(null); $newPageTemplateConfiguration->setPageId($clonedEntity->getId()); $this->em->persist($newPageTemplateConfiguration); diff --git a/Tests/EventListener/CloneListenerTest.php b/Tests/EventListener/CloneListenerTest.php index 9df1431..d1ae50d 100644 --- a/Tests/EventListener/CloneListenerTest.php +++ b/Tests/EventListener/CloneListenerTest.php @@ -48,7 +48,7 @@ protected function setUp() ->getMock(); $this->repo = $this->getMockBuilder('Doctrine\ORM\EntityRepository') - ->setMethods(array('findOrCreateFor', 'copyPageParts')) + ->setMethods(array('findOrCreateFor', 'copyPageParts', 'setContainer')) ->disableOriginalConstructor() ->getMock();