Пример #1
0
 /**
  * Displays a form to edit an existing locale entity or create a new one.
  *
  * @param integer $id      The id of the Locale to edit
  * @param Request $request
  *
  * @return RedirectResponse|Response
  */
 public function editAction($id, Request $request)
 {
     /**
      * @var $locale Locale
      */
     $locale = $this->getEm()->getRepository('UnifikSystemBundle:Locale')->find($id);
     if (false == $locale) {
         $locale = new Locale();
         $locale->setContainer($this->container);
     }
     $this->pushNavigationElement($locale);
     $form = $this->createForm(new LocaleType(), $locale);
     if ('POST' == $request->getMethod()) {
         $form->submit($request);
         if ($form->isValid()) {
             $this->getEm()->persist($locale);
             $this->getEm()->flush();
             $this->addFlashSuccess($this->get('translator')->trans('%entity% has been saved.', array('%entity%' => $locale)));
             $this->invalidateDatabaseConfig();
             if ($request->request->has('save')) {
                 return $this->redirect($this->generateUrl('unifik_system_backend_locale'));
             }
             return $this->redirect($this->generateUrl($locale->getRoute(), $locale->getRouteParams()));
         } else {
             $this->addFlashError('Some fields are invalid.');
         }
     }
     return $this->render('UnifikSystemBundle:Backend/Locale/Locale:edit.html.twig', array('locale' => $locale, 'default_locale' => $this->container->getParameter('locale'), 'form' => $form->createView()));
 }
Пример #2
0
 /**
  * Load
  *
  * @param ObjectManager $manager
  */
 public function load(ObjectManager $manager)
 {
     $metadata = $manager->getClassMetaData('Unifik\\SystemBundle\\Entity\\Locale');
     $metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE);
     $localeFr = new Locale();
     $localeFr->setId(1);
     $localeFr->setName('Français');
     $localeFr->setCode('fr');
     $localeFr->setActive(true);
     $manager->persist($localeFr);
     $localeEn = new Locale();
     $localeEn->setId(2);
     $localeEn->setName('English');
     $localeEn->setCode('en');
     $localeEn->setActive(true);
     $manager->persist($localeEn);
     $manager->flush();
     $this->addReference('locale-fr', $localeFr);
     $this->addReference('locale-en', $localeEn);
 }