/** * Displays the edit form and processes it once submitted. * * @param \Symfony\Component\HttpFoundation\Request $request * @param mixed $languageId * * @return \Symfony\Component\HttpFoundation\Response */ public function editAction(Request $request, $languageId = null) { $language = $languageId ? $this->languageService->loadLanguageById($languageId) : new Language(['languageCode' => '__new__' . md5(microtime(true)), 'name' => 'New language']); $languageData = (new LanguageMapper())->mapToFormData($language); $actionUrl = $this->generateUrl('admin_languageedit', ['languageId' => $languageId]); $form = $this->createForm(new LanguageType(), $languageData); $form->handleRequest($request); if ($form->isValid()) { $this->actionDispatcher->dispatchFormAction($form, $languageData, $form->getClickedButton() ? $form->getClickedButton()->getName() : null); if ($response = $this->actionDispatcher->getResponse()) { return $response; } return $this->redirectAfterFormPost($actionUrl); } return $this->render('eZPlatformUIBundle:Language:edit.html.twig', ['form' => $form->createView(), 'actionUrl' => $actionUrl, 'language' => $languageData]); }
/** * Loads a Language by its id ($languageId) * * @throws \eZ\Publish\API\Repository\Exceptions\NotFoundException if language could not be found * * @param mixed $languageId * * @return \eZ\Publish\API\Repository\Values\Content\Language */ public function loadLanguageById($languageId) { return $this->service->loadLanguageById($languageId); }