Skip to content

Commit 74e3191

Browse files
committed
Merge pull request #142 from symfony-cmf/non-multilang
apply non-multilang to all phpcr-odm documents regardless of implemented interface
2 parents 9948cf0 + 7fcbf69 commit 74e3191

File tree

2 files changed

+20
-10
lines changed

2 files changed

+20
-10
lines changed

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
Changelog
22
=========
33

4+
1.1.0
5+
-----
6+
7+
* **2014-05-08** [Multilang]: When using phpcr-odm but not configuring
8+
cmf_core.multilang.locales, the metadata listener now makes all documents
9+
non-translated. It no longer checks whether the document implements
10+
`TranslatableInterface`.
11+
412
1.1.0-RC2
513
---------
614

Doctrine/Phpcr/NonTranslatableMetadataListener.php

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -45,16 +45,18 @@ public function loadClassMetadata(LoadClassMetadataEventArgs $eventArgs)
4545
/** @var $meta ClassMetadata */
4646
$meta = $eventArgs->getClassMetadata();
4747

48-
if ($meta->getReflectionClass()->implementsInterface('Symfony\Cmf\Bundle\CoreBundle\Translatable\TranslatableInterface')) {
49-
foreach ($meta->translatableFields as $field) {
50-
unset($meta->mappings[$field]['translated']);
51-
}
52-
$meta->translatableFields = array();
53-
if (null !== $meta->localeMapping) {
54-
unset($meta->mappings[$meta->localeMapping]);
55-
$meta->localeMapping = null;
56-
}
57-
$meta->translator = null;
48+
if (!$meta->translator) {
49+
return;
5850
}
51+
52+
foreach ($meta->translatableFields as $field) {
53+
unset($meta->mappings[$field]['translated']);
54+
}
55+
$meta->translatableFields = array();
56+
if (null !== $meta->localeMapping) {
57+
unset($meta->mappings[$meta->localeMapping]);
58+
$meta->localeMapping = null;
59+
}
60+
$meta->translator = null;
5961
}
6062
}

0 commit comments

Comments
 (0)