Passed
Push — master ( 72ad70...45c54f )
by IT
03:10
created

UserFixtures::setContainer()   A

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 = 20;
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
        $data = UserFixturesData::$data;
27
        $userManager = $this->container->get('fos_user.user_manager');
28
        $count = 0;
29
        foreach ($data as $userData) {
30
            echo '.';
31
            /** @var User $user */
32
            $user = $userManager->createUser();
33
            $username = $userData['firstName'];
34
            $user->setFirstName($username);
35
            $user->setLastName($userData['lastName']);
36
            $user->setUsername($username);
37
            $user->setEmail($username . '@mail.com');
38
            $user->setPlainPassword($username);
39
            $user->setEnabled(true);
40
            $userManager->updateUser($user);
41
            $this->addReference($username, $user);
42
            ++$count;
43
            if ($count > self::LIMIT) {
44
                break;
45
            }
46
        }
47
    }
48
}
49