@@ 11-69 (lines=59) @@ | ||
8 | ||
9 | use OroCRM\Bundle\ContactBundle\Entity\ContactEmail; |
|
10 | ||
11 | class LoadContactEmailData extends AbstractFixture implements DependentFixtureInterface |
|
12 | { |
|
13 | const FIRST_ENTITY_NAME = '[email protected]'; |
|
14 | const SECOND_ENTITY_NAME = '[email protected]'; |
|
15 | const THIRD_ENTITY_NAME = '[email protected]'; |
|
16 | ||
17 | public function getDependencies() |
|
18 | { |
|
19 | return [ |
|
20 | 'OroCRM\Bundle\ContactBundle\Tests\Functional\DataFixtures\LoadContactEntitiesData' |
|
21 | ]; |
|
22 | } |
|
23 | ||
24 | /** |
|
25 | * @var array |
|
26 | */ |
|
27 | protected $contactEmailData = [ |
|
28 | [ |
|
29 | 'email' => self::FIRST_ENTITY_NAME, |
|
30 | 'primary' => true, |
|
31 | ], |
|
32 | [ |
|
33 | 'email' => self::SECOND_ENTITY_NAME, |
|
34 | 'primary' => false, |
|
35 | ], |
|
36 | [ |
|
37 | 'email' => self::THIRD_ENTITY_NAME, |
|
38 | 'primary' => false, |
|
39 | ] |
|
40 | ]; |
|
41 | ||
42 | /** |
|
43 | * {@inheritdoc} |
|
44 | */ |
|
45 | public function load(ObjectManager $manager) |
|
46 | { |
|
47 | $contact = $this->getReference('Contact_' . LoadContactEntitiesData::FIRST_ENTITY_NAME); |
|
48 | ||
49 | foreach ($this->contactEmailData as $contactEmailData) { |
|
50 | $contactEmail = new ContactEmail(); |
|
51 | $contactEmail->setPrimary($contactEmailData['primary']); |
|
52 | $contactEmail->setOwner($contact); |
|
53 | $contactEmail->setEmail($contactEmailData['email']); |
|
54 | $this->setReference('ContactEmail_Several_' . $contactEmailData['email'], $contactEmail); |
|
55 | $manager->persist($contactEmail); |
|
56 | } |
|
57 | ||
58 | $contact2 = $this->getReference('Contact_' . LoadContactEntitiesData::SECOND_ENTITY_NAME); |
|
59 | $contactEmail = new ContactEmail(); |
|
60 | $contactEmail->setPrimary($this->contactEmailData[0]['primary']); |
|
61 | $contactEmail->setOwner($contact2); |
|
62 | $contactEmail->setEmail($this->contactEmailData[0]['email']); |
|
63 | $this->setReference('ContactEmail_Single_' . $this->contactEmailData[0]['email'], $contactEmail); |
|
64 | $manager->persist($contactEmail); |
|
65 | ||
66 | ||
67 | $manager->flush(); |
|
68 | } |
|
69 | } |
|
70 |
@@ 11-68 (lines=58) @@ | ||
8 | ||
9 | use OroCRM\Bundle\ContactBundle\Entity\ContactPhone; |
|
10 | ||
11 | class LoadContactPhoneData extends AbstractFixture implements DependentFixtureInterface |
|
12 | { |
|
13 | const FIRST_ENTITY_NAME = '1111111'; |
|
14 | const SECOND_ENTITY_NAME = '2222222'; |
|
15 | const THIRD_ENTITY_NAME = '3333333'; |
|
16 | ||
17 | public function getDependencies() |
|
18 | { |
|
19 | return [ |
|
20 | 'OroCRM\Bundle\ContactBundle\Tests\Functional\DataFixtures\LoadContactEntitiesData' |
|
21 | ]; |
|
22 | } |
|
23 | ||
24 | /** |
|
25 | * @var array |
|
26 | */ |
|
27 | protected $contactEmailData = [ |
|
28 | [ |
|
29 | 'phone' => self::FIRST_ENTITY_NAME, |
|
30 | 'primary' => true, |
|
31 | ], |
|
32 | [ |
|
33 | 'phone' => self::SECOND_ENTITY_NAME, |
|
34 | 'primary' => false, |
|
35 | ], |
|
36 | [ |
|
37 | 'phone' => self::THIRD_ENTITY_NAME, |
|
38 | 'primary' => false, |
|
39 | ] |
|
40 | ]; |
|
41 | ||
42 | /** |
|
43 | * {@inheritdoc} |
|
44 | */ |
|
45 | public function load(ObjectManager $manager) |
|
46 | { |
|
47 | $contact = $this->getReference('Contact_' . LoadContactEntitiesData::FIRST_ENTITY_NAME); |
|
48 | foreach ($this->contactEmailData as $contactEmailData) { |
|
49 | $contactPhone = new ContactPhone(); |
|
50 | $contactPhone->setPrimary($contactEmailData['primary']); |
|
51 | $contactPhone->setOwner($contact); |
|
52 | $contactPhone->setPhone($contactEmailData['phone']); |
|
53 | ||
54 | $this->setReference('ContactPhone_Several_' . $contactEmailData['phone'], $contactPhone); |
|
55 | $manager->persist($contactPhone); |
|
56 | } |
|
57 | ||
58 | $contact2 = $this->getReference('Contact_' . LoadContactEntitiesData::SECOND_ENTITY_NAME); |
|
59 | $contactPhone = new ContactPhone(); |
|
60 | $contactPhone->setPrimary($this->contactEmailData[0]['primary']); |
|
61 | $contactPhone->setOwner($contact2); |
|
62 | $contactPhone->setPhone($this->contactEmailData[0]['phone']); |
|
63 | $this->setReference('ContactPhone_Single_' . $this->contactEmailData[0]['phone'], $contactPhone); |
|
64 | $manager->persist($contactPhone); |
|
65 | ||
66 | $manager->flush(); |
|
67 | } |
|
68 | } |
|
69 |