Completed
Push — feature/EVO-4702 ( fbb50e )
by Leonard
14:02
created

LoadTranslatablesApp   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 85
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Test Coverage

Coverage 0%
Metric Value
wmc 1
lcom 0
cbo 4
dl 0
loc 85
ccs 0
cts 67
cp 0
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A load() 0 75 1
1
<?php
2
/**
3
 * /core/app fixtures for mongodb translatables collection.
4
 */
5
6
namespace Graviton\I18nBundle\DataFixtures\MongoDB;
7
8
use Doctrine\Common\DataFixtures\FixtureInterface;
9
use Doctrine\Common\Persistence\ObjectManager;
10
use Graviton\DocumentBundle\Entity\ExtReference;
11
use Graviton\I18nBundle\Document\Translatable;
12
use Graviton\I18nBundle\Document\TranslatableLanguage;
13
14
/**
15
 * Load Translatable data fixtures (for /core/app) into mongodb
16
 *
17
 * @author   List of contributors <https://github.com/libgraviton/graviton/graphs/contributors>
18
 * @license  http://opensource.org/licenses/gpl-license.php GNU Public License
19
 * @link     http://swisscom.ch
20
 */
21
class LoadTranslatablesApp implements FixtureInterface
22
{
23
    /**
24
     * {@inheritDoc}
25
     *
26
     * @param ObjectManager $manager Object Manager
27
     *
28
     * @return void
29
     */
30
    public function load(ObjectManager $manager)
31
    {
32
        $deAdmin = new Translatable;
33
        $deAdmin->setId('i18n-de-Administration');
34
        $deAdmin->setDomain('core');
35
        $deAdmin->setLocale('de');
36
        $deAdmin->setOriginal('Administration');
37
        $deAdmin->setTranslated('Die Administration');
38
        $deAdmin->setIsLocalized(true);
39
        $language = new TranslatableLanguage;
40
        $language->setRef(ExtReference::create('Language', 'de'));
41
        $deAdmin->setLanguage($language);
42
        $manager->persist($deAdmin);
43
44
        $frAdmin = new Translatable;
45
        $frAdmin->setId('i18n-fr-Administration');
46
        $frAdmin->setDomain('core');
47
        $frAdmin->setLocale('fr');
48
        $frAdmin->setOriginal('Administration');
49
        $frAdmin->setIsLocalized(false);
50
        $language = new TranslatableLanguage;
51
        $language->setRef(ExtReference::create('Language', 'fr'));
52
        $frAdmin->setLanguage($language);
53
        $manager->persist($frAdmin);
54
55
        $enAdmin = new Translatable;
56
        $enAdmin->setId('i18n-en-Administration');
57
        $enAdmin->setDomain('core');
58
        $enAdmin->setLocale('en');
59
        $enAdmin->setOriginal('Administration');
60
        $enAdmin->setTranslated('Administration');
61
        $enAdmin->setIsLocalized(true);
62
        $language = new TranslatableLanguage;
63
        $language->setRef(ExtReference::create('Language', 'en'));
64
        $enAdmin->setLanguage($language);
65
        $manager->persist($enAdmin);
66
67
        /*** THIS TRANSLATABLES HERE SHOULD *NOT* BE TRANSLATED FOR TESTS ***/
68
69
        $deTablet = new Translatable;
70
        $deTablet->setId('i18n-de-Tablet');
71
        $deTablet->setDomain('core');
72
        $deTablet->setLocale('de');
73
        $deTablet->setOriginal('Tablet');
74
        $deTablet->setIsLocalized(false);
75
        $language = new TranslatableLanguage;
76
        $language->setRef(ExtReference::create('Language', 'de'));
77
        $deTablet->setLanguage($language);
78
        $manager->persist($deTablet);
79
80
        $frTablet = new Translatable;
81
        $frTablet->setId('i18n-fr-Tablet');
82
        $frTablet->setDomain('core');
83
        $frTablet->setLocale('fr');
84
        $frTablet->setOriginal('Tablet');
85
        $frTablet->setIsLocalized(false);
86
        $language = new TranslatableLanguage;
87
        $language->setRef(ExtReference::create('Language', 'fr'));
88
        $frTablet->setLanguage($language);
89
        $manager->persist($frTablet);
90
91
        $enTablet = new Translatable;
92
        $enTablet->setId('i18n-en-Tablet');
93
        $enTablet->setDomain('core');
94
        $enTablet->setLocale('en');
95
        $enTablet->setOriginal('Tablet');
96
        $enTablet->setTranslated('Tablet');
97
        $enTablet->setIsLocalized(true);
98
        $language = new TranslatableLanguage;
99
        $language->setRef(ExtReference::create('Language', 'en'));
100
        $enTablet->setLanguage($language);
101
        $manager->persist($enTablet);
102
103
        $manager->flush();
104
    }
105
}
106