Code Duplication    Length = 29-29 lines in 2 locations

src/Kunstmaan/NodeBundle/Helper/NodeHelper.php 2 locations

@@ 299-327 (lines=29) @@
296
     *
297
     * @return NodeTranslation
298
     */
299
    public function copyPageFromOtherLanguage(Node $node, $sourceLocale, $locale)
300
    {
301
        $user = $this->getAdminUser();
302
303
        $sourceNodeTranslation = $node->getNodeTranslation($sourceLocale, true);
304
        $sourceNodeVersion = $sourceNodeTranslation->getPublicNodeVersion();
305
        $sourcePage = $sourceNodeVersion->getRef($this->em);
306
        $targetPage = $this->cloneHelper->deepCloneAndSave($sourcePage);
307
308
        /* @var NodeTranslation $nodeTranslation */
309
        $nodeTranslation = $this->em->getRepository(NodeTranslation::class)->createNodeTranslationFor($targetPage, $locale, $node, $user);
310
        $nodeVersion = $nodeTranslation->getPublicNodeVersion();
311
312
        $this->eventDispatcher->dispatch(
313
            Events::COPY_PAGE_TRANSLATION,
314
            new CopyPageTranslationNodeEvent(
315
                $node,
316
                $nodeTranslation,
317
                $nodeVersion,
318
                $targetPage,
319
                $sourceNodeTranslation,
320
                $sourceNodeVersion,
321
                $sourcePage,
322
                $sourceLocale
323
            )
324
        );
325
326
        return $nodeTranslation;
327
    }
328
329
    /**
330
     * @param Node   $node
@@ 373-401 (lines=29) @@
370
     *
371
     * @return NodeTranslation
372
     */
373
    public function createPageDraftFromOtherLanguage(Node $node, $sourceNodeTranslationId, $locale)
374
    {
375
        $user = $this->getAdminUser();
376
377
        $sourceNodeTranslation = $this->em->getRepository(NodeTranslation::class)->find($sourceNodeTranslationId);
378
        $sourceNodeVersion = $sourceNodeTranslation->getPublicNodeVersion();
379
        $sourcePage = $sourceNodeVersion->getRef($this->em);
380
        $targetPage = $this->cloneHelper->deepCloneAndSave($sourcePage);
381
382
        /* @var NodeTranslation $nodeTranslation */
383
        $nodeTranslation = $this->em->getRepository(NodeTranslation::class)->addDraftNodeVersionFor($targetPage, $locale, $node, $user);
384
        $nodeVersion = $nodeTranslation->getPublicNodeVersion();
385
386
        $this->eventDispatcher->dispatch(
387
            Events::RECOPY_PAGE_TRANSLATION,
388
            new RecopyPageTranslationNodeEvent(
389
                $node,
390
                $nodeTranslation,
391
                $nodeVersion,
392
                $targetPage,
393
                $sourceNodeTranslation,
394
                $sourceNodeVersion,
395
                $sourcePage,
396
                $sourceNodeTranslation->getLang()
397
            )
398
        );
399
400
        return $nodeTranslation;
401
    }
402
403
    /**
404
     * @param Node   $node