MenuItemBuilder::postBuild()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 4
ccs 0
cts 4
cp 0
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
crap 2
1
<?php
2
3
namespace Kunstmaan\FixturesBundle\Builder;
4
5
use Kunstmaan\FixturesBundle\Loader\Fixture;
6
use Kunstmaan\MenuBundle\Entity\BaseMenuItem;
7
8
class MenuItemBuilder implements BuilderInterface
9
{
10
    public function canBuild(Fixture $fixture)
11
    {
12
        if ($fixture->getEntity() instanceof BaseMenuItem) {
13
            return true;
14
        }
15
16
        return false;
17
    }
18
19
    public function preBuild(Fixture $fixture)
20
    {
21
        $parameters = $fixture->getParameters();
22
23
        if (isset($parameters['page']) && $parameters['page'] instanceof Fixture) {
24
            $additionalEntities = $parameters['page']->getAdditionalEntities();
25
            $properties = $fixture->getProperties();
26
27
            if (isset($properties['menu']) &&
28
                $properties['menu']->getLocale() &&
29
                isset($additionalEntities['translationNode_' . $properties['menu']->getLocale()])) {
30
                $fixture->getEntity()->setType(BaseMenuItem::TYPE_PAGE_LINK);
31
                $fixture->getEntity()->setNodeTranslation($additionalEntities['translationNode_' . $properties['menu']->getLocale()]);
32
            }
33
        }
34
35
        return;
36
    }
37
38
    public function postBuild(Fixture $fixture)
39
    {
40
        return;
41
    }
42
43
    public function postFlushBuild(Fixture $fixture)
44
    {
45
        return;
46
    }
47
}
48