/** * @param $key * @param $value * @param $reference * @return Translation */ protected function createTranslateObj($key, $value, $reference) { $translation = new Translation(); $translation->setLanguage($reference); $translation->setKey($key); $translation->setValue($value); return $translation; }
/** * @return object */ public function testLang() { $language = new Language(); $language->setKey(static::LANG); $language->setLastUpdate(new \MongoDate()); $translation = new Translation(); $translation->setKey(static::TRANSLATION_KEY); $translation->setValue(static::TRANSLATION_VALUE); $translation->setLanguage($language); $language->addTranslation($translation); $this->documentManager->persist($language); $this->documentManager->persist($translation); $this->documentManager->flush(); $this->assertLangDocument($language); $this->assertLangDocumentData($language); $this->assertLangTranslationDocument($translation); $this->assertLangTranslationDocumentData($translation); $this->assertLangTranslationDocumentData($language->getTranslations()->getIterator()[0]); return (object) ['language' => $language, 'translation' => $translation]; }
/** * @param Request $request * @param $lang * @param $key * @return \Symfony\Component\HttpFoundation\Response */ public function postLangKeyAction(Request $request, $lang, $key) { $language = $this->getLang($lang, true); $documentManager = $this->get('doctrine_mongodb')->getManager(); $translation = new Translation(); $translation->setLanguage($language); $translation->setKey($key); $translation->setValue($request->get('value')); $documentManager->persist($translation); try { $documentManager->flush(); } catch (\Exception $e) { if ($e instanceof \MongoCursorException) { throw new ConflictHttpException('Duplicate entry for lang: ' . $lang . ' with key: ' . $key, $e); } } $language->setLastUpdate(new \MongoDate()); $documentManager->getRepository('TranslateBundle:Language'); $documentManager->flush($language); $view = $this->view($translation); return $this->handleView($view); }