Passed
Push — master ( d40d17...8eb698 )
by Julito
08:49
created

PageFixtures::setContainer()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
/* For licensing terms, see /license.txt */
6
7
namespace Chamilo\CoreBundle\DataFixtures;
8
9
use Chamilo\CoreBundle\Entity\Page;
10
use Chamilo\CoreBundle\Entity\PageCategory;
11
use Chamilo\CoreBundle\Entity\User;
12
use Doctrine\Bundle\FixturesBundle\Fixture;
13
use Doctrine\Persistence\ObjectManager;
14
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
15
use Symfony\Component\DependencyInjection\ContainerInterface;
16
17
class PageFixtures extends Fixture implements ContainerAwareInterface
18
{
19
    private ContainerInterface $container;
20
21
    public function setContainer(ContainerInterface $container = null): void
22
    {
23
        $this->container = $container;
24
    }
25
26
    public function load(ObjectManager $manager): void
27
    {
28
        /** @var User $admin */
29
        $admin = $this->getReference(AccessUserFixtures::ADMIN_USER_REFERENCE);
30
        $url = $this->getReference(AccessUserFixtures::ACCESS_URL_REFERENCE);
31
32
        $category = (new PageCategory())
33
            ->setTitle('home')
34
            ->setType('grid')
35
            ->setCreator($admin)
36
        ;
37
        $manager->persist($category);
38
39
        $locale = $this->container->get('translator')->getLocale();
40
41
        $page = (new Page())
42
            ->setTitle('Welcome')
43
            ->setContent('Welcome to Chamilo')
44
            ->setCategory($category)
45
            ->setCreator($admin)
46
            ->setLocale($locale)
47
            ->setEnabled(true)
48
            ->setUrl($url)
49
        ;
50
        $manager->persist($page);
51
52
        $indexCategory = (new PageCategory())
53
            ->setTitle('index')
54
            ->setType('grid')
55
            ->setCreator($admin)
56
        ;
57
        $manager->persist($indexCategory);
58
59
        $indexPage = (new Page())
60
            ->setTitle('Welcome')
61
            ->setContent('<img src="/img/document/images/mr_chamilo/svg/teaching.svg" />')
62
            ->setCategory($indexCategory)
63
            ->setCreator($admin)
64
            ->setLocale($locale)
65
            ->setEnabled(true)
66
            ->setUrl($url)
67
        ;
68
        $manager->persist($indexPage);
69
70
        $manager->flush();
71
    }
72
}
73