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

PageFixtures   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 54
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 35
dl 0
loc 54
rs 10
c 1
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A setContainer() 0 3 1
A load() 0 45 1
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