UserFixtures::setContainer()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 3
rs 10
cc 1
eloc 1
nc 1
nop 1
1
<?php
2
3
namespace AppBundle\DataFixtures\ORM\User;
4
5
use AppBundle\DataFixtures\ORM\Data\UserFixturesData;
6
use AppBundle\Entity\User;
7
use Doctrine\Bundle\FixturesBundle\Fixture;
8
use Doctrine\Common\Persistence\ObjectManager;
9
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
10
use Symfony\Component\DependencyInjection\ContainerInterface;
11
12
class UserFixtures extends Fixture implements ContainerAwareInterface
13
{
14
    const LIMIT = 2;
15
16
    private $container;
17
18
    public function setContainer(ContainerInterface $container = null)
19
    {
20
        $this->container = $container;
21
    }
22
23
    public function load(ObjectManager $manager)
24
    {
25
26
        $userManager = $this->container->get('fos_user.user_manager');
27
        //let 's create an admin
28
        /** @var User $user */
29
        $user = $userManager->createUser();
30
        $user->setFirstName('admin');
31
        $user->setLastName('admin');
32
        $user->setUsername('admin');
33
        $user->setEmail('admin' . '@mail.com');
34
        $user->setPlainPassword('admin');
35
        $user->setEnabled(true);
36
        $user->addRole('ROLE_ADMIN');
37
        $userManager->updateUser($user);
38
39
        //let's create simple users
40
        $data = UserFixturesData::$data;
41
        $count = 0;
42
        foreach ($data as $userData) {
43
            echo '.';
44
            /** @var User $user */
45
            $user = $userManager->createUser();
46
            $username = $userData['firstName'];
47
            $user->setFirstName($username);
48
            $user->setLastName($userData['lastName']);
49
            $user->setUsername($username);
50
            $user->setEmail($username . '@mail.com');
51
            $user->setPlainPassword($username);
52
            $user->setEnabled(true);
53
            $userManager->updateUser($user);
54
            $this->addReference($username, $user);
55
            ++$count;
56
            if ($count > self::LIMIT) {
57
                break;
58
            }
59
        }
60
    }
61
}
62